diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index 38428f4830..49d1ef31fd 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -128,6 +128,19 @@ jobs: run: make check timeout-minutes: 30 + yaml-lint: + name: YAML Lint + runs-on: ubuntu-22.04 + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: YAML Style and Lint Check + run: make check-yaml-tests + timeout-minutes: 30 + env: + YAML_LINT_FORMAT: github + wasm: name: WASM runs-on: ubuntu-22.04 @@ -291,7 +304,6 @@ jobs: env: DOCKER_RUNNING: 0 - # Run PR metadata against Rego policies rego-check-pr: name: Rego PR checks @@ -315,7 +327,7 @@ jobs: run: | curl --silent --fail --header 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -o files.json \ https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files - + opa eval -d build/policy/files.rego -d build/policy/helpers.rego --format values --input files.json \ --fail-defined 'data.files.deny[message]' env: diff --git a/.yamllint.yaml b/.yamllint.yaml new file mode 100644 index 0000000000..7fd66d2e07 --- /dev/null +++ b/.yamllint.yaml @@ -0,0 +1,12 @@ +extends: default + +rules: + # Some of our testcases end up going past the default 80 character limit. + line-length: false + braces: + max-spaces-inside: 1 + comments: + min-spaces-from-content: 1 + indentation: + ignore: + - test-time-* diff --git a/Makefile b/Makefile index 54a877fa01..e4ed72643e 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,8 @@ GO_TAGS = -tags=opa_wasm endif GOLANGCI_LINT_VERSION := v1.51.0 +YAML_LINT_VERSION := 0.29.0 +YAML_LINT_FORMAT ?= auto DOCKER_RUNNING ?= $(shell docker ps >/dev/null 2>&1 && echo 1 || echo 0) @@ -474,6 +476,14 @@ check-go-module: $(RELEASE_BUILD_IMAGE) \ /bin/bash -c "git config --system --add safe.directory /src && go mod vendor -v" +.PHONY: check-yaml-tests +check-yaml-tests: +ifeq ($(DOCKER_RUNNING), 1) + docker run --rm -v $(shell pwd):/data:ro,Z -w /data pipelinecomponents/yamllint:${YAML_LINT_VERSION} yamllint -f $(YAML_LINT_FORMAT) test/cases/testdata +else + @echo "Docker not installed or running. Skipping yamllint run." +endif + ###################################################### # # Release targets diff --git a/docs/content/contrib-development.md b/docs/content/contrib-development.md index 883efb0898..3a0d17e914 100644 --- a/docs/content/contrib-development.md +++ b/docs/content/contrib-development.md @@ -15,6 +15,7 @@ Requirements: - GitHub account (if you are contributing) - Go (version 1.15+ is supported though older versions are likely to work) - GNU Make +- Python3, pip, yamllint (if linting YAML files manually) ## Getting Started @@ -71,6 +72,10 @@ git rebase upstream/main > Be sure to run `make check` before submitting your pull request. You > may need to run `go fmt` on your code to make it comply with standard Go > style. +> For YAML files, you may need to run the `yamllint` tool on the +> `test/cases/testdata` folder to make sure any new tests are well-formatted. +> If you have Docker available, you can run `make check-yaml-tests` to +> run `yamllint` on the tests without installing any Python dependencies. ### Submission diff --git a/test/cases/testdata/aggregates/test-aggregates-0001.yaml b/test/cases/testdata/aggregates/test-aggregates-0001.yaml index 566f619a7d..7e22622bce 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0001.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0001.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.a - count(__local0__, x) - } - note: aggregates/count - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 4 + p[x] { + __local0__ = data.a + count(__local0__, x) + } + note: aggregates/count + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 4 diff --git a/test/cases/testdata/aggregates/test-aggregates-0002.yaml b/test/cases/testdata/aggregates/test-aggregates-0002.yaml index ec0c44a4da..d58eb5b3c8 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0002.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0002.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = [y | data.generated.q[y]] - count(__local0__, x) - } + p[x] { + __local0__ = [y | data.generated.q[y]] + count(__local0__, x) + } - q[x] { - x = data.a[_] - } - note: aggregates/count virtual - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 4 + q[x] { + x = data.a[_] + } + note: aggregates/count virtual + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 4 diff --git a/test/cases/testdata/aggregates/test-aggregates-0003.yaml b/test/cases/testdata/aggregates/test-aggregates-0003.yaml index 75a5c27997..83668cafa6 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0003.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0003.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] { - __local0__ = data.b - count(__local0__, x) - } - note: aggregates/count keys - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 + p[x] { + __local0__ = data.b + count(__local0__, x) + } + note: aggregates/count keys + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 diff --git a/test/cases/testdata/aggregates/test-aggregates-0004.yaml b/test/cases/testdata/aggregates/test-aggregates-0004.yaml index 556960fbe2..3baad15404 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0004.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0004.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] { - __local0__ = [k | data.generated.q[k] = _] - count(__local0__, x) - } + p[x] { + __local0__ = [k | data.generated.q[k] = _] + count(__local0__, x) + } - q[k] = v { - data.b[k] = v - } - note: aggregates/count keys virtual - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 + q[k] = v { + data.b[k] = v + } + note: aggregates/count keys virtual + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 diff --git a/test/cases/testdata/aggregates/test-aggregates-0005.yaml b/test/cases/testdata/aggregates/test-aggregates-0005.yaml index 60a64b5a6a..fa7d252f64 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0005.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0005.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = x { - __local0__ = data.generated.q - count(__local0__, x) - } + p = x { + __local0__ = data.generated.q + count(__local0__, x) + } - q[x] { - x = data.a[_] - } - note: aggregates/count set - query: data.generated.p = x - want_result: - - x: 4 + q[x] { + x = data.a[_] + } + note: aggregates/count set + query: data.generated.p = x + want_result: + - x: 4 diff --git a/test/cases/testdata/aggregates/test-aggregates-0006.yaml b/test/cases/testdata/aggregates/test-aggregates-0006.yaml index 0cf48e728d..53193713b8 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0006.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0006.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - sum([1, 2, 3, 4], x) - } - note: aggregates/sum - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 10 + p[x] { + sum([1, 2, 3, 4], x) + } + note: aggregates/sum + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 10 diff --git a/test/cases/testdata/aggregates/test-aggregates-0007.yaml b/test/cases/testdata/aggregates/test-aggregates-0007.yaml index 519941112e..3494862f54 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0007.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0007.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sum({1, 2, 3, 4}, x) - } - note: aggregates/sum set - query: data.generated.p = x - want_result: - - x: 10 + p = x { + sum({1, 2, 3, 4}, x) + } + note: aggregates/sum set + query: data.generated.p = x + want_result: + - x: 10 diff --git a/test/cases/testdata/aggregates/test-aggregates-0008.yaml b/test/cases/testdata/aggregates/test-aggregates-0008.yaml index 560ec23eb0..588169bbd7 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0008.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0008.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = [y | data.generated.q[y]] - sum(__local0__, x) - } + p[x] { + __local0__ = [y | data.generated.q[y]] + sum(__local0__, x) + } - q[x] { - data.a[_] = x - } - note: aggregates/sum virtual - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 10 + q[x] { + data.a[_] = x + } + note: aggregates/sum virtual + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 10 diff --git a/test/cases/testdata/aggregates/test-aggregates-0009.yaml b/test/cases/testdata/aggregates/test-aggregates-0009.yaml index 220c6e24df..d97672a745 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0009.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0009.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = x { - __local0__ = data.generated.q - sum(__local0__, x) - } + p = x { + __local0__ = data.generated.q + sum(__local0__, x) + } - q[x] { - data.a[_] = x - } - note: aggregates/sum virtual set - query: data.generated.p = x - want_result: - - x: 10 + q[x] { + data.a[_] = x + } + note: aggregates/sum virtual set + query: data.generated.p = x + want_result: + - x: 10 diff --git a/test/cases/testdata/aggregates/test-aggregates-0010.yaml b/test/cases/testdata/aggregates/test-aggregates-0010.yaml index f37a47848a..9083199495 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0010.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0010.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - sum([49649733057, 1], __local0__) - __local0__ = 49649733058 - } - note: aggregates/bug 2469 - precision - query: data.generated.p = x - want_result: - - x: true + p { + sum([49649733057, 1], __local0__) + __local0__ = 49649733058 + } + note: aggregates/bug 2469 - precision + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/aggregates/test-aggregates-0011.yaml b/test/cases/testdata/aggregates/test-aggregates-0011.yaml index 8e60e01a4c..a318366879 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0011.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0011.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - product([1, 2, 3, 4], 24) - } - note: aggregates/product - query: data.generated.p = x - want_result: - - x: true + p { + product([1, 2, 3, 4], 24) + } + note: aggregates/product + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/aggregates/test-aggregates-0012.yaml b/test/cases/testdata/aggregates/test-aggregates-0012.yaml index 7ceb0ade70..f3d21be82e 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0012.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0012.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - product({1, 2, 3, 4}, x) - } - note: aggregates/product set - query: data.generated.p = x - want_result: - - x: 24 + p = x { + product({1, 2, 3, 4}, x) + } + note: aggregates/product set + query: data.generated.p = x + want_result: + - x: 24 diff --git a/test/cases/testdata/aggregates/test-aggregates-0013.yaml b/test/cases/testdata/aggregates/test-aggregates-0013.yaml index 42a45b54da..abebe691dc 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0013.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0013.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - max([1, 2, 3, 4], x) - } - note: aggregates/max - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 4 + p[x] { + max([1, 2, 3, 4], x) + } + note: aggregates/max + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 4 diff --git a/test/cases/testdata/aggregates/test-aggregates-0014.yaml b/test/cases/testdata/aggregates/test-aggregates-0014.yaml index 6c583e7c07..c60ec94a65 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0014.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0014.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - max({1, 2, 3, 4}, x) - } - note: aggregates/max set - query: data.generated.p = x - want_result: - - x: 4 + p = x { + max({1, 2, 3, 4}, x) + } + note: aggregates/max set + query: data.generated.p = x + want_result: + - x: 4 diff --git a/test/cases/testdata/aggregates/test-aggregates-0015.yaml b/test/cases/testdata/aggregates/test-aggregates-0015.yaml index 86438558ef..28c5319112 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0015.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0015.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = [y | data.generated.q[y]] - max(__local0__, x) - } + p[x] { + __local0__ = [y | data.generated.q[y]] + max(__local0__, x) + } - q[x] { - data.a[_] = x - } - note: aggregates/max virtual - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 4 + q[x] { + data.a[_] = x + } + note: aggregates/max virtual + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 4 diff --git a/test/cases/testdata/aggregates/test-aggregates-0016.yaml b/test/cases/testdata/aggregates/test-aggregates-0016.yaml index 29a31435f3..9151394743 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0016.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0016.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = x { - __local0__ = data.generated.q - max(__local0__, x) - } + p = x { + __local0__ = data.generated.q + max(__local0__, x) + } - q[x] { - data.a[_] = x - } - note: aggregates/max virtual set - query: data.generated.p = x - want_result: - - x: 4 + q[x] { + data.a[_] = x + } + note: aggregates/max virtual set + query: data.generated.p = x + want_result: + - x: 4 diff --git a/test/cases/testdata/aggregates/test-aggregates-0017.yaml b/test/cases/testdata/aggregates/test-aggregates-0017.yaml index 68802eed3d..1a4b2dfaf8 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0017.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0017.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - min([1, 2, 3, 4], x) - } - note: aggregates/min - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + p[x] { + min([1, 2, 3, 4], x) + } + note: aggregates/min + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/aggregates/test-aggregates-0018.yaml b/test/cases/testdata/aggregates/test-aggregates-0018.yaml index 75f1a756e0..116deefe6b 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0018.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0018.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - min([1, 2, 1, 3, 4], x) - } - note: aggregates/min dups - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + p[x] { + min([1, 2, 1, 3, 4], x) + } + note: aggregates/min dups + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/aggregates/test-aggregates-0019.yaml b/test/cases/testdata/aggregates/test-aggregates-0019.yaml index 43f564b14f..bddb0410b6 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0019.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0019.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - min([3, 2, 1, 4, 6, -7, 10], x) - } - note: aggregates/min out-of-order - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - -7 + p[x] { + min([3, 2, 1, 4, 6, -7, 10], x) + } + note: aggregates/min out-of-order + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - -7 diff --git a/test/cases/testdata/aggregates/test-aggregates-0020.yaml b/test/cases/testdata/aggregates/test-aggregates-0020.yaml index c840a75e12..73f404abca 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0020.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0020.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - min({1, 2, 3, 4}, x) - } - note: aggregates/min set - query: data.generated.p = x - want_result: - - x: 1 + p = x { + min({1, 2, 3, 4}, x) + } + note: aggregates/min set + query: data.generated.p = x + want_result: + - x: 1 diff --git a/test/cases/testdata/aggregates/test-aggregates-0021.yaml b/test/cases/testdata/aggregates/test-aggregates-0021.yaml index e5bffa7632..9d8cfb113e 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0021.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0021.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = [y | data.generated.q[y]] - min(__local0__, x) - } + p[x] { + __local0__ = [y | data.generated.q[y]] + min(__local0__, x) + } - q[x] { - data.a[_] = x - } - note: aggregates/min virtual - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + q[x] { + data.a[_] = x + } + note: aggregates/min virtual + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/aggregates/test-aggregates-0022.yaml b/test/cases/testdata/aggregates/test-aggregates-0022.yaml index d6049d994d..d3cfb4475e 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0022.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0022.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = x { - __local0__ = data.generated.q - min(__local0__, x) - } + p = x { + __local0__ = data.generated.q + min(__local0__, x) + } - q[x] { - data.a[_] = x - } - note: aggregates/min virtual set - query: data.generated.p = x - want_result: - - x: 1 + q[x] { + data.a[_] = x + } + note: aggregates/min virtual set + query: data.generated.p = x + want_result: + - x: 1 diff --git a/test/cases/testdata/aggregates/test-aggregates-0023.yaml b/test/cases/testdata/aggregates/test-aggregates-0023.yaml index b96812788a..9be0ae2e90 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0023.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0023.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = data.a[3] - max([1, 2, 3, 4], __local0__) - } - note: aggregates/reduce ref dest - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.a[3] + max([1, 2, 3, 4], __local0__) + } + note: aggregates/reduce ref dest + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/aggregates/test-aggregates-0024.yaml b/test/cases/testdata/aggregates/test-aggregates-0024.yaml index 639ffaafb3..d0ccc23fc2 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0024.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0024.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = data.a[3] - not max([1, 2, 3, 4, 5], __local0__) - } - note: aggregates/reduce ref dest (2) - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.a[3] + not max([1, 2, 3, 4, 5], __local0__) + } + note: aggregates/reduce ref dest (2) + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/aggregates/test-aggregates-0025.yaml b/test/cases/testdata/aggregates/test-aggregates-0025.yaml index a2b11d9348..09eb5395e5 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0025.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0025.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sort([4, 3, 2, 1], x) - } - note: aggregates/sort - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + p = x { + sort([4, 3, 2, 1], x) + } + note: aggregates/sort + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/aggregates/test-aggregates-0026.yaml b/test/cases/testdata/aggregates/test-aggregates-0026.yaml index 7f81168908..bc799b3283 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0026.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0026.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sort({1, 2, 3, 4}, x) - } - note: aggregates/sort set - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + p = x { + sort({1, 2, 3, 4}, x) + } + note: aggregates/sort set + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/aggregates/test-aggregates-0027.yaml b/test/cases/testdata/aggregates/test-aggregates-0027.yaml index e66031d650..97162982d0 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0027.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0027.yaml @@ -1,23 +1,24 @@ +--- cases: -- modules: - - | - package generated + - modules: + - | + package generated - p = x { - count("abcde", x) - } - note: aggregates/count string - query: data.generated.p = x - want_result: - - x: 5 -- modules: - - | - package generated + p = x { + count("abcde", x) + } + note: aggregates/count string + query: data.generated.p = x + want_result: + - x: 5 + - modules: + - | + package generated - p = x { - count("åäö", x) - } - note: aggregates/count string - query: data.generated.p = x - want_result: - - x: 3 + p = x { + count("åäö", x) + } + note: aggregates/count string + query: data.generated.p = x + want_result: + - x: 3 diff --git a/test/cases/testdata/aggregates/test-aggregates-0028.yaml b/test/cases/testdata/aggregates/test-aggregates-0028.yaml index a80cd898ad..b117e5aa17 100644 --- a/test/cases/testdata/aggregates/test-aggregates-0028.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-0028.yaml @@ -1,29 +1,30 @@ +--- cases: -- modules: - - | - package generated + - modules: + - | + package generated - p = x { - count(input.foo, x) - } - note: aggregates/count error null - query: data.generated.p = x - input: - foo: null - strict_error: true - want_error_code: eval_type_error - want_error: 'operand 1 must be one of {array, object, set, string} but got null' -- modules: - - | - package generated + p = x { + count(input.foo, x) + } + note: aggregates/count error null + query: data.generated.p = x + input: + foo: null + strict_error: true + want_error_code: eval_type_error + want_error: "operand 1 must be one of {array, object, set, string} but got null" + - modules: + - | + package generated - p = x { - count(input.foo, x) - } - note: aggregates/count error number - query: data.generated.p = x - input: - foo: 5 - strict_error: true - want_error_code: eval_type_error - want_error: 'operand 1 must be one of {array, object, set, string} but got number' + p = x { + count(input.foo, x) + } + note: aggregates/count error number + query: data.generated.p = x + input: + foo: 5 + strict_error: true + want_error_code: eval_type_error + want_error: "operand 1 must be one of {array, object, set, string} but got number" diff --git a/test/cases/testdata/aggregates/test-aggregates-bad-utf8-runes.yaml b/test/cases/testdata/aggregates/test-aggregates-bad-utf8-runes.yaml index 50002a5185..ce9bf4db0a 100644 --- a/test/cases/testdata/aggregates/test-aggregates-bad-utf8-runes.yaml +++ b/test/cases/testdata/aggregates/test-aggregates-bad-utf8-runes.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: - modules: - - | - package test + - data: + modules: + - | + package test - p[x] { - x := count(base64.decode("2E84ZuPUd7zfvCZSNEchVpDEIj6PL7JfLpIqyxVG16k=")) - } - note: aggregates/count with invalid utf-8 chars (0xFFFD) - query: data.test.p = x - sort_bindings: true - want_result: - - x: - - 30 + p[x] { + x := count(base64.decode("2E84ZuPUd7zfvCZSNEchVpDEIj6PL7JfLpIqyxVG16k=")) + } + note: aggregates/count with invalid utf-8 chars (0xFFFD) + query: data.test.p = x + sort_bindings: true + want_result: + - x: + - 30 diff --git a/test/cases/testdata/aggregates/test-membership.yaml b/test/cases/testdata/aggregates/test-membership.yaml index bb9d18eaa4..143dd9a2b3 100644 --- a/test/cases/testdata/aggregates/test-membership.yaml +++ b/test/cases/testdata/aggregates/test-membership.yaml @@ -1,539 +1,540 @@ +--- cases: -- data: {} - modules: - - | - package test + - data: {} + modules: + - | + package test - p { - in := 1 == 2 - in == false - } - note: aggregates/member without the future import, 'in' can still be used as variable - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - 1 in {1} - } - note: aggregates/member simple, set - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - 1 in [1] - } - note: aggregates/member simple, array - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - 1 in {"foo": 1} - } - note: aggregates/member simple, object - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - "foo", 1 in {"foo": 1} - } - note: aggregates/member object with key - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - 1, "two" in ["one", "two", "three"] - } - note: aggregates/member array with index - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - 1, (2 in [2]) in [false, true] - } - note: aggregates/member array with index, nested - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - 0, 2 in [2] in [true] - } - note: aggregates/member array with index, nested, associativity without parens - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - "foo", 2 in {"foo": 2} in [true] - } - note: aggregates/member object with key, nested, associativity without parens - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - "foo", (2 in {"bar": 2}) in {"foo": true} - } - note: aggregates/member object with key, nested - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - x := 1 in {2} - } - note: aggregates/member simple false, set - query: data.test.p = x - want_result: - - x: false -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - x := 1 in [2] - } - note: aggregates/member simple false, array - query: data.test.p = x - want_result: - - x: false -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - x := 1 in {"foo": 2} - } - note: aggregates/member simple false, object - query: data.test.p = x - want_result: - - x: false -- data: {} - modules: - - | - package test - import future.keywords.in - p { - {1,2} in [{1,2}] in [true] - } - note: aggregates/member chained - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - x := "foo" - xs := ["foo", "bar"] - x in xs - } - note: aggregates/member with vars - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - not "foo" in ["fox"] - } - note: aggregates/member with not - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - 1+1 in [2] - } - note: aggregates/member operator precedence with other infix operator (+) - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - x := { 1, 1 in [2] } - x == { 1, false } - } - note: aggregates/member operator precedence in list (set) - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - x := { (1, 1 in [2]) } - x == { false } - } - note: aggregates/member operator precedence in list with parens (set) - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - x := [ 1, 1 in [2] ] - x == [ 1, false ] - } - note: aggregates/member operator precedence in list (array) - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - x := [ (1, 1 in [2]) ] - x == [ false ] - } - note: aggregates/member operator precedence in list with parens (array) - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - f(1, 1 in [2]) - } - f(_, _) = true - note: aggregates/member operator precedence in list (fun args) - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - f((1, 1 in [2])) - } - f(_) = true - note: aggregates/member operator precedence in list with parens (fun args) - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - {"foo": {"baz": 2000}} in [{"foo": {"baz": 2000}}] - } - note: aggregates/member composite containee - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - x := 1 in "foo" - } - note: aggregates/member non-collection string - query: data.test.p = x - want_result: - - x: false -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - x := "foo" in 1 - } - note: aggregates/member non-collection number - query: data.test.p = x - want_result: - - x: false -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - x := 1, "foo" in 1 - } - note: aggregates/member with key in non-collection (number) - query: data.test.p = x - want_result: - - x: false -- data: {} - modules: - - | - package test - import future.keywords.in - p[x] { - some x in [1,2,3] - } - note: aggregates/member+some simple, array - query: data.test.p = x - want_result: - - x: - - 1 - - 2 - - 3 -- data: {} - modules: - - | - package test - import future.keywords.in - p { - some "foo" in ["foo"] - } - note: aggregates/member+some ground value - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - some numbers.range(1,1) in [[1]] - } - note: aggregates/member+some containee is call - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - some {"foo": x} in [{"foo": 100}, {"what": "ever"}] - } - note: aggregates/member+some non-ground composite containee - query: data.test.p = x - want_result: - - x: 100 -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - some {"foo": x, "what": y} in [{"foo": 100, "what": "ever"}] - } - note: aggregates/member+some non-ground composite containee, multiple bindings - query: data.test.p = x - want_result: - - x: 100 -- data: {} - modules: - - | - package test - import future.keywords.in - p { - some {"foo": 100} in [{"foo": 100}] - } - note: aggregates/member+some ground composite containee - query: data.test.p = x - want_result: - - x: true -- data: {} - modules: - - | - package test - import future.keywords.in - p { - some {"foo": 0} in [{"foo": 100}] - } - note: aggregates/member+some ground composite containee (false) - query: data.test.p = x - want_result: [] -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - some "foo", x in {"foo": 100, "what": "ever"} - } - note: aggregates/member+some+key non-ground value - query: data.test.p = x - want_result: - - x: 100 -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - some x, "ever" in {"foo": 100, "what": "ever"} - } - note: aggregates/member+some+key non-ground key - query: data.test.p = x - want_result: - - x: what -- data: {} - modules: - - | - package test - import future.keywords.in - p[k] = v { - some k, v in {"foo": 100, "what": "ever"} - } - note: aggregates/member+some+key non-ground key+value - query: data.test.p = x - want_result: - - x: - foo: 100 - what: ever -- data: {} - modules: - - | - package test - import future.keywords.in - p = x { - some {"foo": x}, "ever" in {{"foo": 100}: "ever"} - } - note: aggregates/member+some+key non-ground, composite key - query: data.test.p = x - want_result: - - x: 100 -- data: - array: - - a: 1 - - b: 2 - - c: 3 - modules: - - | - package test - import future.keywords.in - p = x { - some {"a": x} in data.array - } - note: aggregates/member+some+ref - query: data.test.p = x - want_result: - - x: 1 -- data: - array: - - a: 1 - - b: 2 - - c: 3 - modules: - - | - package test - import future.keywords.in - p = [x, y] { - some y, {"c": x} in data.array - } - note: aggregates/member+some+key+ref - query: data.test.p = x - want_result: - - x: - - 3 - - 2 -- data: - object: + p { + in := 1 == 2 + in == false + } + note: aggregates/member without the future import, 'in' can still be used as variable + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + 1 in {1} + } + note: aggregates/member simple, set + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + 1 in [1] + } + note: aggregates/member simple, array + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + 1 in {"foo": 1} + } + note: aggregates/member simple, object + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + "foo", 1 in {"foo": 1} + } + note: aggregates/member object with key + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + 1, "two" in ["one", "two", "three"] + } + note: aggregates/member array with index + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + 1, (2 in [2]) in [false, true] + } + note: aggregates/member array with index, nested + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + 0, 2 in [2] in [true] + } + note: aggregates/member array with index, nested, associativity without parens + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + "foo", 2 in {"foo": 2} in [true] + } + note: aggregates/member object with key, nested, associativity without parens + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + "foo", (2 in {"bar": 2}) in {"foo": true} + } + note: aggregates/member object with key, nested + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + x := 1 in {2} + } + note: aggregates/member simple false, set + query: data.test.p = x + want_result: + - x: false + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + x := 1 in [2] + } + note: aggregates/member simple false, array + query: data.test.p = x + want_result: + - x: false + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + x := 1 in {"foo": 2} + } + note: aggregates/member simple false, object + query: data.test.p = x + want_result: + - x: false + - data: {} + modules: + - | + package test + import future.keywords.in + p { + {1,2} in [{1,2}] in [true] + } + note: aggregates/member chained + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + x := "foo" + xs := ["foo", "bar"] + x in xs + } + note: aggregates/member with vars + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + not "foo" in ["fox"] + } + note: aggregates/member with not + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + 1+1 in [2] + } + note: aggregates/member operator precedence with other infix operator (+) + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + x := { 1, 1 in [2] } + x == { 1, false } + } + note: aggregates/member operator precedence in list (set) + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + x := { (1, 1 in [2]) } + x == { false } + } + note: aggregates/member operator precedence in list with parens (set) + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + x := [ 1, 1 in [2] ] + x == [ 1, false ] + } + note: aggregates/member operator precedence in list (array) + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + x := [ (1, 1 in [2]) ] + x == [ false ] + } + note: aggregates/member operator precedence in list with parens (array) + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + f(1, 1 in [2]) + } + f(_, _) = true + note: aggregates/member operator precedence in list (fun args) + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + f((1, 1 in [2])) + } + f(_) = true + note: aggregates/member operator precedence in list with parens (fun args) + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + {"foo": {"baz": 2000}} in [{"foo": {"baz": 2000}}] + } + note: aggregates/member composite containee + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + x := 1 in "foo" + } + note: aggregates/member non-collection string + query: data.test.p = x + want_result: + - x: false + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + x := "foo" in 1 + } + note: aggregates/member non-collection number + query: data.test.p = x + want_result: + - x: false + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + x := 1, "foo" in 1 + } + note: aggregates/member with key in non-collection (number) + query: data.test.p = x + want_result: + - x: false + - data: {} + modules: + - | + package test + import future.keywords.in + p[x] { + some x in [1,2,3] + } + note: aggregates/member+some simple, array + query: data.test.p = x + want_result: + - x: + - 1 + - 2 + - 3 + - data: {} + modules: + - | + package test + import future.keywords.in + p { + some "foo" in ["foo"] + } + note: aggregates/member+some ground value + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + some numbers.range(1,1) in [[1]] + } + note: aggregates/member+some containee is call + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + some {"foo": x} in [{"foo": 100}, {"what": "ever"}] + } + note: aggregates/member+some non-ground composite containee + query: data.test.p = x + want_result: + - x: 100 + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + some {"foo": x, "what": y} in [{"foo": 100, "what": "ever"}] + } + note: aggregates/member+some non-ground composite containee, multiple bindings + query: data.test.p = x + want_result: + - x: 100 + - data: {} + modules: + - | + package test + import future.keywords.in + p { + some {"foo": 100} in [{"foo": 100}] + } + note: aggregates/member+some ground composite containee + query: data.test.p = x + want_result: + - x: true + - data: {} + modules: + - | + package test + import future.keywords.in + p { + some {"foo": 0} in [{"foo": 100}] + } + note: aggregates/member+some ground composite containee (false) + query: data.test.p = x + want_result: [] + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + some "foo", x in {"foo": 100, "what": "ever"} + } + note: aggregates/member+some+key non-ground value + query: data.test.p = x + want_result: + - x: 100 + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + some x, "ever" in {"foo": 100, "what": "ever"} + } + note: aggregates/member+some+key non-ground key + query: data.test.p = x + want_result: + - x: what + - data: {} + modules: + - | + package test + import future.keywords.in + p[k] = v { + some k, v in {"foo": 100, "what": "ever"} + } + note: aggregates/member+some+key non-ground key+value + query: data.test.p = x + want_result: + - x: + foo: 100 + what: ever + - data: {} + modules: + - | + package test + import future.keywords.in + p = x { + some {"foo": x}, "ever" in {{"foo": 100}: "ever"} + } + note: aggregates/member+some+key non-ground, composite key + query: data.test.p = x + want_result: + - x: 100 + - data: array: - - a: 1 - - b: 2 - - c: 3 - modules: - - | - package test - import future.keywords.in - p = [x, y, i] { - some i - some y, {"c": x} in data.object[i] - } - note: aggregates/member+some+key+ref with other variable - query: data.test.p = x - want_result: - - x: - - 3 - - 2 - - array -- data: {} - modules: - - | - package test - import future.keywords.in - p[[k, v]] { - some k, v in input with input.foo as "bar" - } - note: aggregates/member+some+with - query: data.test.p = x - want_result: - - x: - - - foo - - bar + - a: 1 + - b: 2 + - c: 3 + modules: + - | + package test + import future.keywords.in + p = x { + some {"a": x} in data.array + } + note: aggregates/member+some+ref + query: data.test.p = x + want_result: + - x: 1 + - data: + array: + - a: 1 + - b: 2 + - c: 3 + modules: + - | + package test + import future.keywords.in + p = [x, y] { + some y, {"c": x} in data.array + } + note: aggregates/member+some+key+ref + query: data.test.p = x + want_result: + - x: + - 3 + - 2 + - data: + object: + array: + - a: 1 + - b: 2 + - c: 3 + modules: + - | + package test + import future.keywords.in + p = [x, y, i] { + some i + some y, {"c": x} in data.object[i] + } + note: aggregates/member+some+key+ref with other variable + query: data.test.p = x + want_result: + - x: + - 3 + - 2 + - array + - data: {} + modules: + - | + package test + import future.keywords.in + p[[k, v]] { + some k, v in input with input.foo as "bar" + } + note: aggregates/member+some+with + query: data.test.p = x + want_result: + - x: + - - foo + - bar diff --git a/test/cases/testdata/all/test-all-0027.yaml b/test/cases/testdata/all/test-all-0027.yaml index d0887af923..09f141c0a2 100644 --- a/test/cases/testdata/all/test-all-0027.yaml +++ b/test/cases/testdata/all/test-all-0027.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - all(set(), __local1__) - __local0__ = __local1__ - } - note: all/empty set - query: data.generated.p = x - want_result: - - x: true + p = __local0__ { + all(set(), __local1__) + __local0__ = __local1__ + } + note: all/empty set + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/all/test-all-0028.yaml b/test/cases/testdata/all/test-all-0028.yaml index 389a29bf32..04648b485a 100644 --- a/test/cases/testdata/all/test-all-0028.yaml +++ b/test/cases/testdata/all/test-all-0028.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - all([], __local1__) - __local0__ = __local1__ - } - note: all/empty array - query: data.generated.p = x - want_result: - - x: true + p = __local0__ { + all([], __local1__) + __local0__ = __local1__ + } + note: all/empty array + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/all/test-all-0029.yaml b/test/cases/testdata/all/test-all-0029.yaml index c44a0d23ab..99c1fac717 100644 --- a/test/cases/testdata/all/test-all-0029.yaml +++ b/test/cases/testdata/all/test-all-0029.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - all({true}, __local1__) - __local0__ = __local1__ - } - note: all/set success - query: data.generated.p = x - want_result: - - x: true + p = __local0__ { + all({true}, __local1__) + __local0__ = __local1__ + } + note: all/set success + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/all/test-all-0030.yaml b/test/cases/testdata/all/test-all-0030.yaml index 9f1fdbe5a6..be00198e02 100644 --- a/test/cases/testdata/all/test-all-0030.yaml +++ b/test/cases/testdata/all/test-all-0030.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - all([true, true, true], __local1__) - __local0__ = __local1__ - } - note: all/array success - query: data.generated.p = x - want_result: - - x: true + p = __local0__ { + all([true, true, true], __local1__) + __local0__ = __local1__ + } + note: all/array success + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/all/test-all-0031.yaml b/test/cases/testdata/all/test-all-0031.yaml index 216ededd63..939870f47a 100644 --- a/test/cases/testdata/all/test-all-0031.yaml +++ b/test/cases/testdata/all/test-all-0031.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - all({false, true}, __local1__) - __local0__ = __local1__ - } - note: all/set fail - query: data.generated.p = x - want_result: - - x: false + p = __local0__ { + all({false, true}, __local1__) + __local0__ = __local1__ + } + note: all/set fail + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/all/test-all-0032.yaml b/test/cases/testdata/all/test-all-0032.yaml index 53bda8cf8b..a6413523af 100644 --- a/test/cases/testdata/all/test-all-0032.yaml +++ b/test/cases/testdata/all/test-all-0032.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - all([false, true, true], __local1__) - __local0__ = __local1__ - } - note: all/array fail - query: data.generated.p = x - want_result: - - x: false + p = __local0__ { + all([false, true, true], __local1__) + __local0__ = __local1__ + } + note: all/array fail + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/all/test-all-0033.yaml b/test/cases/testdata/all/test-all-0033.yaml index 79117623ab..16571a7fd7 100644 --- a/test/cases/testdata/all/test-all-0033.yaml +++ b/test/cases/testdata/all/test-all-0033.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - all([{}, "", true, true, 123], __local1__) - __local0__ = __local1__ - } - note: all/other types - query: data.generated.p = x - want_result: - - x: false + p = __local0__ { + all([{}, "", true, true, 123], __local1__) + __local0__ = __local1__ + } + note: all/other types + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/any/test-any-0034.yaml b/test/cases/testdata/any/test-any-0034.yaml index 1c973e9583..9d06a6b1c6 100644 --- a/test/cases/testdata/any/test-any-0034.yaml +++ b/test/cases/testdata/any/test-any-0034.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - any(set(), __local1__) - __local0__ = __local1__ - } - note: any/empty set - query: data.generated.p = x - want_result: - - x: false + p = __local0__ { + any(set(), __local1__) + __local0__ = __local1__ + } + note: any/empty set + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/any/test-any-0035.yaml b/test/cases/testdata/any/test-any-0035.yaml index 4d97c9595c..a3c498b6c9 100644 --- a/test/cases/testdata/any/test-any-0035.yaml +++ b/test/cases/testdata/any/test-any-0035.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - any([], __local1__) - __local0__ = __local1__ - } - note: any/empty array - query: data.generated.p = x - want_result: - - x: false + p = __local0__ { + any([], __local1__) + __local0__ = __local1__ + } + note: any/empty array + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/any/test-any-0036.yaml b/test/cases/testdata/any/test-any-0036.yaml index 7b22998714..f7bbf9fa87 100644 --- a/test/cases/testdata/any/test-any-0036.yaml +++ b/test/cases/testdata/any/test-any-0036.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - any({false, true}, __local1__) - __local0__ = __local1__ - } - note: any/set success - query: data.generated.p = x - want_result: - - x: true + p = __local0__ { + any({false, true}, __local1__) + __local0__ = __local1__ + } + note: any/set success + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/any/test-any-0037.yaml b/test/cases/testdata/any/test-any-0037.yaml index d3dd71b809..eb7e988b08 100644 --- a/test/cases/testdata/any/test-any-0037.yaml +++ b/test/cases/testdata/any/test-any-0037.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - any([true, true, true, false, false], __local1__) - __local0__ = __local1__ - } - note: any/array success - query: data.generated.p = x - want_result: - - x: true + p = __local0__ { + any([true, true, true, false, false], __local1__) + __local0__ = __local1__ + } + note: any/array success + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/any/test-any-0038.yaml b/test/cases/testdata/any/test-any-0038.yaml index 2304c4aaaa..d2bc6d147b 100644 --- a/test/cases/testdata/any/test-any-0038.yaml +++ b/test/cases/testdata/any/test-any-0038.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - any({false}, __local1__) - __local0__ = __local1__ - } - note: any/set fail - query: data.generated.p = x - want_result: - - x: false + p = __local0__ { + any({false}, __local1__) + __local0__ = __local1__ + } + note: any/set fail + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/any/test-any-0039.yaml b/test/cases/testdata/any/test-any-0039.yaml index b2d0994911..911373244c 100644 --- a/test/cases/testdata/any/test-any-0039.yaml +++ b/test/cases/testdata/any/test-any-0039.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - any([false], __local1__) - __local0__ = __local1__ - } - note: any/array fail - query: data.generated.p = x - want_result: - - x: false + p = __local0__ { + any([false], __local1__) + __local0__ = __local1__ + } + note: any/array fail + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/any/test-any-0040.yaml b/test/cases/testdata/any/test-any-0040.yaml index d046c194b5..70ff6f30b1 100644 --- a/test/cases/testdata/any/test-any-0040.yaml +++ b/test/cases/testdata/any/test-any-0040.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - any([true, {}, "false"], __local1__) - __local0__ = __local1__ - } - note: any/other types - query: data.generated.p = x - want_result: - - x: true + p = __local0__ { + any([true, {}, "false"], __local1__) + __local0__ = __local1__ + } + note: any/other types + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0810.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0810.yaml index 952870a46a..a09b6150e9 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0810.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0810.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[y] { - data.a[i] = x - __local0__ = i + x - y = __local0__ - } - note: arithmetic/plus - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 3 - - 5 - - 7 + p[y] { + data.a[i] = x + __local0__ = i + x + y = __local0__ + } + note: arithmetic/plus + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 3 + - 5 + - 7 diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0811.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0811.yaml index 3e18903c77..6b893fe072 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0811.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0811.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[y] { - data.a[i] = x - __local0__ = i - x - y = __local0__ - } - note: arithmetic/minus - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - -1 + p[y] { + data.a[i] = x + __local0__ = i - x + y = __local0__ + } + note: arithmetic/minus + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - -1 diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0812.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0812.yaml index 2d7a229bcc..6048a046e0 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0812.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0812.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[y] { - data.a[i] = x - __local0__ = i * x - y = __local0__ - } - note: arithmetic/multiply - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 0 - - 2 - - 6 - - 12 + p[y] { + data.a[i] = x + __local0__ = i * x + y = __local0__ + } + note: arithmetic/multiply + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 0 + - 2 + - 6 + - 12 diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0813.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0813.yaml index 59cf974e51..95acfd9dd8 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0813.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0813.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package test + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package test - p[z] { - data.a[i] = x - y = i / x - round(y, z) - } - note: arithmetic/divide+round - query: data.test.p = x - sort_bindings: true - want_result: - - x: - - 0 - - 1 + p[z] { + data.a[i] = x + y = i / x + round(y, z) + } + note: arithmetic/divide+round + query: data.test.p = x + sort_bindings: true + want_result: + - x: + - 0 + - 1 diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0814.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0814.yaml index 0aea1da955..870f901d25 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0814.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0814.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - a: - - 1 - modules: - - | - package generated + - data: + a: + - 1 + modules: + - | + package generated - p = y { - data.a[i] = x - __local0__ = x / i - y = __local0__ - } - note: arithmetic/divide+error - query: data.generated.p = x - strict_error: true - want_error: divide by zero - want_error_code: eval_builtin_error + p = y { + data.a[i] = x + __local0__ = x / i + y = __local0__ + } + note: arithmetic/divide+error + query: data.generated.p = x + strict_error: true + want_error: divide by zero + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0815.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0815.yaml index cbb8b1ac44..9a7ba6a596 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0815.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0815.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - abs(-10, x) - x = 10 - } - note: arithmetic/abs - query: data.generated.p = x - want_result: - - x: true + p { + abs(-10, x) + x = 10 + } + note: arithmetic/abs + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0816.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0816.yaml index d7ba6f9a96..a5be442915 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0816.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0816.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - __local0__ = 7 % 4 - x = __local0__ - } - note: arithmetic/remainder - query: data.generated.p = x - want_result: - - x: 3 + p = x { + __local0__ = 7 % 4 + x = __local0__ + } + note: arithmetic/remainder + query: data.generated.p = x + want_result: + - x: 3 diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0817.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0817.yaml index 29b538ed97..ef79e120c5 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0817.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0817.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - __local0__ = 7 % 0 - x = __local0__ - } - note: arithmetic/remainder+error - query: data.generated.p = x - want_error: modulo by zero - want_error_code: eval_builtin_error - strict_error: true + p = x { + __local0__ = 7 % 0 + x = __local0__ + } + note: arithmetic/remainder+error + query: data.generated.p = x + want_error: modulo by zero + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0818.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0818.yaml index 7ab49dfd3e..5e5af67226 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0818.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0818.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package test + - data: + modules: + - | + package test - p = x { - x = 1.1 % 1 - } - note: arithmetic/remainder+error+floating - query: data.test.p = x - want_error: modulo on floating-point number - want_error_code: eval_builtin_error - strict_error: true \ No newline at end of file + p = x { + x = 1.1 % 1 + } + note: arithmetic/remainder+error+floating + query: data.test.p = x + want_error: modulo on floating-point number + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0819.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0819.yaml index abdff45a97..e23511e2c3 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0819.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0819.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = data.a[3] - abs(-4, __local0__) - } - note: arithmetic/arity 1 ref dest - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.a[3] + abs(-4, __local0__) + } + note: arithmetic/arity 1 ref dest + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0820.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0820.yaml index bbd0b23637..589b2213f4 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0820.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0820.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = data.a[3] - not abs(-5, __local0__) - } - note: arithmetic/arity 1 ref dest (2) - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.a[3] + not abs(-5, __local0__) + } + note: arithmetic/arity 1 ref dest (2) + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0821.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0821.yaml index ae2a996fda..b126d9fdb2 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0821.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0821.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = 1 + 2 - data.a[2] = __local0__ - } - note: arithmetic/arity 2 ref dest - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = 1 + 2 + data.a[2] = __local0__ + } + note: arithmetic/arity 2 ref dest + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0822.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0822.yaml index 1d558012ca..ef3fd180a4 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0822.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0822.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = 2 + 3 - not data.a[2] = __local0__ - } - note: arithmetic/arity 2 ref dest (2) - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = 2 + 3 + not data.a[2] = __local0__ + } + note: arithmetic/arity 2 ref dest (2) + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0823.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0823.yaml index 5346052bb3..375a3c4bf6 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0823.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0823.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - __local0__ = 49649733057 + 1 - __local0__ = 49649733058 - } - note: arithmetic/bug 2469 - precision - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = 49649733057 + 1 + __local0__ = 49649733058 + } + note: arithmetic/bug 2469 - precision + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0824.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0824.yaml index fcc6999ec9..631bf44f66 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0824.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0824.yaml @@ -1,61 +1,62 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - ceil(1.01, x) - } - note: ceil rounds up - query: data.generated.p = x - want_result: - - x: 2 -- data: {} - modules: - - | - package generated + p = x { + ceil(1.01, x) + } + note: ceil rounds up + query: data.generated.p = x + want_result: + - x: 2 + - data: {} + modules: + - | + package generated - p = x { - ceil(1.5, x) - } - note: ceil rounds up (2) - query: data.generated.p = x - want_result: - - x: 2 -- data: {} - modules: - - | - package generated + p = x { + ceil(1.5, x) + } + note: ceil rounds up (2) + query: data.generated.p = x + want_result: + - x: 2 + - data: {} + modules: + - | + package generated - p = x { - ceil(2222.2222222222, x) - } - note: ceil rounds up (3) - query: data.generated.p = x - want_result: - - x: 2223 -- data: {} - modules: - - | - package generated + p = x { + ceil(2222.2222222222, x) + } + note: ceil rounds up (3) + query: data.generated.p = x + want_result: + - x: 2223 + - data: {} + modules: + - | + package generated - p = x { - ceil(1, x) - } - note: ceil integer - query: data.generated.p = x - want_result: - - x: 1 -- data: {} - modules: - - | - package generated + p = x { + ceil(1, x) + } + note: ceil integer + query: data.generated.p = x + want_result: + - x: 1 + - data: {} + modules: + - | + package generated - p = x { - ceil(-1.99999, x) - } - note: ceil negative - query: data.generated.p = x - want_result: - - x: -1 + p = x { + ceil(-1.99999, x) + } + note: ceil negative + query: data.generated.p = x + want_result: + - x: -1 diff --git a/test/cases/testdata/arithmetic/test-arithmetic-0825.yaml b/test/cases/testdata/arithmetic/test-arithmetic-0825.yaml index 46b9934733..6c010c6b29 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-0825.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-0825.yaml @@ -1,3 +1,4 @@ +--- cases: - data: {} modules: diff --git a/test/cases/testdata/arithmetic/test-arithmetic-minus-type-error.yaml b/test/cases/testdata/arithmetic/test-arithmetic-minus-type-error.yaml index 5cce9a7815..ab447ba5ab 100644 --- a/test/cases/testdata/arithmetic/test-arithmetic-minus-type-error.yaml +++ b/test/cases/testdata/arithmetic/test-arithmetic-minus-type-error.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: - modules: - - | - package test + - data: + modules: + - | + package test - p { - {1} - 1 - } - note: arithmetic/minus/type error - query: data.test.p = x - want_error: operand 2 must be set but got number - want_error_code: eval_type_error - strict_error: true -- data: - modules: - - | - package test + p { + {1} - 1 + } + note: arithmetic/minus/type error + query: data.test.p = x + want_error: operand 2 must be set but got number + want_error_code: eval_type_error + strict_error: true + - data: + modules: + - | + package test - p { - 1 - {1} - } - note: arithmetic/minus/type error - query: data.test.p = x - want_error: operand 2 must be number but got set - want_error_code: eval_type_error - strict_error: true + p { + 1 - {1} + } + note: arithmetic/minus/type error + query: data.test.p = x + want_error: operand 2 must be number but got set + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/arithmetic/test-big-int-0001.yaml b/test/cases/testdata/arithmetic/test-big-int-0001.yaml index ceef2c2a3b..f308ca219c 100644 --- a/test/cases/testdata/arithmetic/test-big-int-0001.yaml +++ b/test/cases/testdata/arithmetic/test-big-int-0001.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: - modules: - - | - package test + - data: + modules: + - | + package test - p { - 28857836529306024611913 != 28857836529306024611912 - } - note: arithmetic/big_int - query: data.test.p = x - want_result: - - x: true + p { + 28857836529306024611913 != 28857836529306024611912 + } + note: arithmetic/big_int + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/array/test-array-0041.yaml b/test/cases/testdata/array/test-array-0041.yaml index a347f049de..4b26a268cf 100644 --- a/test/cases/testdata/array/test-array-0041.yaml +++ b/test/cases/testdata/array/test-array-0041.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - array.concat([1, 2], [3, 4], __local0__) - x = __local0__ - } - note: array/concat - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + p = x { + array.concat([1, 2], [3, 4], __local0__) + x = __local0__ + } + note: array/concat + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/array/test-array-0042.yaml b/test/cases/testdata/array/test-array-0042.yaml index f8184aad21..9d9f97063f 100644 --- a/test/cases/testdata/array/test-array-0042.yaml +++ b/test/cases/testdata/array/test-array-0042.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p = x { - __local1__ = data.b - array.concat(__local1__, [3, 4], __local0__) - x = __local0__ - } - note: 'array/concat: err' - query: data.generated.p = x - strict_error: true - want_error: 'array.concat: operand 1 must be array but got object' - want_error_code: eval_type_error + p = x { + __local1__ = data.b + array.concat(__local1__, [3, 4], __local0__) + x = __local0__ + } + note: "array/concat: err" + query: data.generated.p = x + strict_error: true + want_error: "array.concat: operand 1 must be array but got object" + want_error_code: eval_type_error diff --git a/test/cases/testdata/array/test-array-0043.yaml b/test/cases/testdata/array/test-array-0043.yaml index 869f660795..aafa84f73b 100644 --- a/test/cases/testdata/array/test-array-0043.yaml +++ b/test/cases/testdata/array/test-array-0043.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p = x { - __local1__ = data.b - array.concat([1, 2], __local1__, __local0__) - x = __local0__ - } - note: 'array/concat: err rhs' - query: data.generated.p = x - strict_error: true - want_error: 'array.concat: operand 2 must be array but got object' - want_error_code: eval_type_error + p = x { + __local1__ = data.b + array.concat([1, 2], __local1__, __local0__) + x = __local0__ + } + note: "array/concat: err rhs" + query: data.generated.p = x + strict_error: true + want_error: "array.concat: operand 2 must be array but got object" + want_error_code: eval_type_error diff --git a/test/cases/testdata/array/test-array-0044.yaml b/test/cases/testdata/array/test-array-0044.yaml index 5755ee1d94..df62b7688f 100644 --- a/test/cases/testdata/array/test-array-0044.yaml +++ b/test/cases/testdata/array/test-array-0044.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - array.slice([1, 2, 3, 4, 5], 1, 3, __local0__) - x = __local0__ - } - note: array/slice - query: data.generated.p = x - want_result: - - x: - - 2 - - 3 + p = x { + array.slice([1, 2, 3, 4, 5], 1, 3, __local0__) + x = __local0__ + } + note: array/slice + query: data.generated.p = x + want_result: + - x: + - 2 + - 3 diff --git a/test/cases/testdata/array/test-array-0045.yaml b/test/cases/testdata/array/test-array-0045.yaml index 337fafa6fe..785af8cf1d 100644 --- a/test/cases/testdata/array/test-array-0045.yaml +++ b/test/cases/testdata/array/test-array-0045.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - array.slice([1, 2, 3], 0, 0, __local0__) - x = __local0__ - } - note: 'array/slice: empty slice' - query: data.generated.p = x - want_result: - - x: [] + p = x { + array.slice([1, 2, 3], 0, 0, __local0__) + x = __local0__ + } + note: "array/slice: empty slice" + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/array/test-array-0046.yaml b/test/cases/testdata/array/test-array-0046.yaml index 9f9cdedd94..df6d608647 100644 --- a/test/cases/testdata/array/test-array-0046.yaml +++ b/test/cases/testdata/array/test-array-0046.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - array.slice([1, 2, 3, 4, 5], -4, -1, __local0__) - x = __local0__ - } - note: 'array/slice: negative indices' - query: data.generated.p = x - want_result: - - x: [] + p = x { + array.slice([1, 2, 3, 4, 5], -4, -1, __local0__) + x = __local0__ + } + note: "array/slice: negative indices" + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/array/test-array-0047.yaml b/test/cases/testdata/array/test-array-0047.yaml index 920123ff87..d3029e6e46 100644 --- a/test/cases/testdata/array/test-array-0047.yaml +++ b/test/cases/testdata/array/test-array-0047.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - array.slice([1, 2, 3, 4, 5], 4, 1, __local0__) - x = __local0__ - } - note: 'array/slice: stopIndex < startIndex' - query: data.generated.p = x - want_result: - - x: [] + p = x { + array.slice([1, 2, 3, 4, 5], 4, 1, __local0__) + x = __local0__ + } + note: "array/slice: stopIndex < startIndex" + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/array/test-array-0048.yaml b/test/cases/testdata/array/test-array-0048.yaml index 7d726bd010..79d00f9f0e 100644 --- a/test/cases/testdata/array/test-array-0048.yaml +++ b/test/cases/testdata/array/test-array-0048.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - array.slice([1, 2, 3, 4, 5], -1, 2, __local0__) - x = __local0__ - } - note: 'array/slice: clamp startIndex' - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 + p = x { + array.slice([1, 2, 3, 4, 5], -1, 2, __local0__) + x = __local0__ + } + note: "array/slice: clamp startIndex" + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/array/test-array-0049.yaml b/test/cases/testdata/array/test-array-0049.yaml index 015c8ebb99..9dc43af4fb 100644 --- a/test/cases/testdata/array/test-array-0049.yaml +++ b/test/cases/testdata/array/test-array-0049.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - array.slice([1, 2, 3, 4, 5], 3, 6, __local0__) - x = __local0__ - } - note: 'array/slice: clamp stopIndex' - query: data.generated.p = x - want_result: - - x: - - 4 - - 5 + p = x { + array.slice([1, 2, 3, 4, 5], 3, 6, __local0__) + x = __local0__ + } + note: "array/slice: clamp stopIndex" + query: data.generated.p = x + want_result: + - x: + - 4 + - 5 diff --git a/test/cases/testdata/array/test-array-0050.yaml b/test/cases/testdata/array/test-array-0050.yaml index 04b8f19722..1f13394360 100644 --- a/test/cases/testdata/array/test-array-0050.yaml +++ b/test/cases/testdata/array/test-array-0050.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - array.slice([], 1000, 2000, __local0__) - x = __local0__ - } - note: 'array/slice: clamp both out of range' - query: data.generated.p = x - want_result: - - x: [] + p = x { + array.slice([], 1000, 2000, __local0__) + x = __local0__ + } + note: "array/slice: clamp both out of range" + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/array/test-array-0051.yaml b/test/cases/testdata/array/test-array-0051.yaml index 9127e6db28..ba8a64e752 100644 --- a/test/cases/testdata/array/test-array-0051.yaml +++ b/test/cases/testdata/array/test-array-0051.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - array.slice([1, 2, 3], 1000, 2000, __local0__) - x = __local0__ - } - note: 'array/slice: clamp both out of range non-empty' - query: data.generated.p = x - want_result: - - x: [] + p = x { + array.slice([1, 2, 3], 1000, 2000, __local0__) + x = __local0__ + } + note: "array/slice: clamp both out of range non-empty" + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/array/test-array-0052.yaml b/test/cases/testdata/array/test-array-0052.yaml index 920be3b754..7f3f187f56 100644 --- a/test/cases/testdata/array/test-array-0052.yaml +++ b/test/cases/testdata/array/test-array-0052.yaml @@ -1,43 +1,44 @@ +--- cases: -- data: - foo: - - 1 - - 2 - - 3 - modules: - - | - package test + - data: + foo: + - 1 + - 2 + - 3 + modules: + - | + package test - p := array.reverse(data.foo) - note: array/reverse_123 - query: data.test.p = x - want_result: - - x: - - 3 - - 2 - - 1 -- data: - foo: [] - modules: - - | - package test + p := array.reverse(data.foo) + note: array/reverse_123 + query: data.test.p = x + want_result: + - x: + - 3 + - 2 + - 1 + - data: + foo: [] + modules: + - | + package test - p := array.reverse(data.foo) - note: array/reverse_empty - query: data.test.p = x - want_result: - - x: [] -- data: - foo: - bar: baz - baz: bar - modules: - - | - package test + p := array.reverse(data.foo) + note: array/reverse_empty + query: data.test.p = x + want_result: + - x: [] + - data: + foo: + bar: baz + baz: bar + modules: + - | + package test - p := array.reverse(data.foo) - note: array/reverse_object_error - query: data.test.p = x - strict_error: true - want_error: 'array.reverse: operand 1 must be array but got object' - want_error_code: eval_type_error + p := array.reverse(data.foo) + note: array/reverse_object_error + query: data.test.p = x + strict_error: true + want_error: "array.reverse: operand 1 must be array but got object" + want_error_code: eval_type_error diff --git a/test/cases/testdata/assignments/test-file-level-assignments.yaml b/test/cases/testdata/assignments/test-file-level-assignments.yaml index 4f56e55091..1c3cac79df 100644 --- a/test/cases/testdata/assignments/test-file-level-assignments.yaml +++ b/test/cases/testdata/assignments/test-file-level-assignments.yaml @@ -1,3 +1,4 @@ +--- cases: - note: assignments/file-level/default_value query: data.test = x @@ -6,43 +7,43 @@ cases: package test default a := 1 - want_result: [ { "x": { "a": 1 } } ] + want_result: [{ "x": { "a": 1 } }] - note: assignments/file-level/rule query: data.test = x modules: - | package test - + b := 2 - want_result: [ { "x": { "b": 2 } } ] + want_result: [{ "x": { "b": 2 } }] - note: assignments/file-level/else_keyword query: data.test = x modules: - | package test - + c := 3 { false } else := 4 { true } - want_result: [ { "x": { "c": 4, } } ] + want_result: [{ "x": { "c": 4 } }] - note: assignments/file-level/partial_rule query: data.test = x modules: - | package test - + d[msg] := 5 { msg = [1, 2, 3][_] } - want_result: [ { "x": { "d": { "1": 5, "2": 5, "3": 5 } } } ] + want_result: [{ "x": { "d": { "1": 5, "2": 5, "3": 5 } } }] - note: assignments/file-level/function_return_value query: data.test = x modules: - | package test - + e := f(6) f(x) := x - want_result: [ { "x": { "e": 6 } } ] \ No newline at end of file + want_result: [{ "x": { "e": 6 } }] diff --git a/test/cases/testdata/base64builtins/test-base64builtins-0929.yaml b/test/cases/testdata/base64builtins/test-base64builtins-0929.yaml index 86e11a5bf5..f7a1d7ff9b 100644 --- a/test/cases/testdata/base64builtins/test-base64builtins-0929.yaml +++ b/test/cases/testdata/base64builtins/test-base64builtins-0929.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - base64.encode("hello", x) - } - note: base64builtins/encode-1 - query: data.generated.p = x - want_result: - - x: aGVsbG8= + p = x { + base64.encode("hello", x) + } + note: base64builtins/encode-1 + query: data.generated.p = x + want_result: + - x: aGVsbG8= diff --git a/test/cases/testdata/base64builtins/test-base64builtins-0930.yaml b/test/cases/testdata/base64builtins/test-base64builtins-0930.yaml index bc50bd80ec..af04b1ea92 100644 --- a/test/cases/testdata/base64builtins/test-base64builtins-0930.yaml +++ b/test/cases/testdata/base64builtins/test-base64builtins-0930.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - base64.encode("there", x) - } - note: base64builtins/encode-2 - query: data.generated.p = x - want_result: - - x: dGhlcmU= + p = x { + base64.encode("there", x) + } + note: base64builtins/encode-2 + query: data.generated.p = x + want_result: + - x: dGhlcmU= diff --git a/test/cases/testdata/base64builtins/test-base64builtins-0931.yaml b/test/cases/testdata/base64builtins/test-base64builtins-0931.yaml index 79fb39007a..0536b4d0c0 100644 --- a/test/cases/testdata/base64builtins/test-base64builtins-0931.yaml +++ b/test/cases/testdata/base64builtins/test-base64builtins-0931.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - base64.decode("aGVsbG8=", x) - } - note: base64builtins/decode-1 - query: data.generated.p = x - want_result: - - x: hello + p = x { + base64.decode("aGVsbG8=", x) + } + note: base64builtins/decode-1 + query: data.generated.p = x + want_result: + - x: hello diff --git a/test/cases/testdata/base64builtins/test-base64builtins-0932.yaml b/test/cases/testdata/base64builtins/test-base64builtins-0932.yaml index f0cf95055d..41023aa520 100644 --- a/test/cases/testdata/base64builtins/test-base64builtins-0932.yaml +++ b/test/cases/testdata/base64builtins/test-base64builtins-0932.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - base64.decode("dGhlcmU=", x) - } - note: base64builtins/decode-2 - query: data.generated.p = x - want_result: - - x: there + p = x { + base64.decode("dGhlcmU=", x) + } + note: base64builtins/decode-2 + query: data.generated.p = x + want_result: + - x: there diff --git a/test/cases/testdata/base64builtins/test-base64builtins-0933.yaml b/test/cases/testdata/base64builtins/test-base64builtins-0933.yaml index d408fc9925..596b04919d 100644 --- a/test/cases/testdata/base64builtins/test-base64builtins-0933.yaml +++ b/test/cases/testdata/base64builtins/test-base64builtins-0933.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - base64.encode("subjects?_d", x) - } - note: base64builtins/encode-slash - query: data.generated.p = x - want_result: - - x: c3ViamVjdHM/X2Q= + p = x { + base64.encode("subjects?_d", x) + } + note: base64builtins/encode-slash + query: data.generated.p = x + want_result: + - x: c3ViamVjdHM/X2Q= diff --git a/test/cases/testdata/base64builtins/test-base64builtins-0934.yaml b/test/cases/testdata/base64builtins/test-base64builtins-0934.yaml index 138cd7db8e..688e867557 100644 --- a/test/cases/testdata/base64builtins/test-base64builtins-0934.yaml +++ b/test/cases/testdata/base64builtins/test-base64builtins-0934.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - base64.decode("c3ViamVjdHM/X2Q=", x) - } - note: base64builtins/decode-slash - query: data.generated.p = x - want_result: - - x: subjects?_d + p = x { + base64.decode("c3ViamVjdHM/X2Q=", x) + } + note: base64builtins/decode-slash + query: data.generated.p = x + want_result: + - x: subjects?_d diff --git a/test/cases/testdata/base64builtins/test-base64builtins-0935.yaml b/test/cases/testdata/base64builtins/test-base64builtins-0935.yaml index 18d840ffb2..0f8ce2e03b 100644 --- a/test/cases/testdata/base64builtins/test-base64builtins-0935.yaml +++ b/test/cases/testdata/base64builtins/test-base64builtins-0935.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - base64.is_valid("aGVsbG8=", x) - } - note: base64builtins/is_valid-true - query: data.generated.p = x - want_result: - - x: true -- data: {} - modules: - - | - package generated + p = x { + base64.is_valid("aGVsbG8=", x) + } + note: base64builtins/is_valid-true + query: data.generated.p = x + want_result: + - x: true + - data: {} + modules: + - | + package generated - p = x { - base64.is_valid("{'not':'base64'}", x) - } - note: base64builtins/is_valid-false - query: data.generated.p = x - want_result: - - x: false + p = x { + base64.is_valid("{'not':'base64'}", x) + } + note: base64builtins/is_valid-false + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0935.yaml b/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0935.yaml index c5dcd8b1e2..99e5748249 100644 --- a/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0935.yaml +++ b/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0935.yaml @@ -1,25 +1,26 @@ +--- cases: -- note: base64urlbuiltins/encode-1 - modules: - - | - package generated + - note: base64urlbuiltins/encode-1 + modules: + - | + package generated - p = x { - base64url.encode("hello", x) - } - data: - query: data.generated.p = x - want_result: - - x: aGVsbG8= -- note: base64urlbuiltins/encode-2 - modules: - - | - package generated + p = x { + base64url.encode("hello", x) + } + data: + query: data.generated.p = x + want_result: + - x: aGVsbG8= + - note: base64urlbuiltins/encode-2 + modules: + - | + package generated - p = x { - base64url.encode("there", x) - } - data: - query: data.generated.p = x - want_result: - - x: dGhlcmU= + p = x { + base64url.encode("there", x) + } + data: + query: data.generated.p = x + want_result: + - x: dGhlcmU= diff --git a/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0937.yaml b/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0937.yaml index a270bb259a..02118ee4f8 100644 --- a/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0937.yaml +++ b/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0937.yaml @@ -1,25 +1,26 @@ +--- cases: -- note: base64urlbuiltins/decode-1 padded string - modules: - - | - package generated + - note: base64urlbuiltins/decode-1 padded string + modules: + - | + package generated - p = x { - base64url.decode("aGVsbG8=", x) - } - data: - query: data.generated.p = x - want_result: - - x: hello -- note: base64urlbuiltins/decode-2 non-padded string - modules: - - | - package generated + p = x { + base64url.decode("aGVsbG8=", x) + } + data: + query: data.generated.p = x + want_result: + - x: hello + - note: base64urlbuiltins/decode-2 non-padded string + modules: + - | + package generated - p = x { - base64url.decode("aGVsbG8", x) - } - data: - query: data.generated.p = x - want_result: - - x: hello + p = x { + base64url.decode("aGVsbG8", x) + } + data: + query: data.generated.p = x + want_result: + - x: hello diff --git a/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0939.yaml b/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0939.yaml index ae097dfbd1..c7e8cb0959 100644 --- a/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0939.yaml +++ b/test/cases/testdata/base64urlbuiltins/test-base64urlbuiltins-0939.yaml @@ -1,23 +1,24 @@ +--- cases: -- note: base64urlbuiltins/encode-1 without padding - query: data.generated.p = x - modules: - - | - package generated - p = x { - base64url.encode_no_pad("hello", x) - } - data: - want_result: - - x: aGVsbG8 -- note: base64urlbuiltins/encode-2 without padding - query: data.generated.p = x - modules: - - | - package generated - p = x { - base64url.encode_no_pad("there", x) - } - data: - want_result: - - x: dGhlcmU + - note: base64urlbuiltins/encode-1 without padding + query: data.generated.p = x + modules: + - | + package generated + p = x { + base64url.encode_no_pad("hello", x) + } + data: + want_result: + - x: aGVsbG8 + - note: base64urlbuiltins/encode-2 without padding + query: data.generated.p = x + modules: + - | + package generated + p = x { + base64url.encode_no_pad("there", x) + } + data: + want_result: + - x: dGhlcmU diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0695.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0695.yaml index df554f7883..04bb4d29d3 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0695.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0695.yaml @@ -1,188 +1,189 @@ +--- cases: -- data: - topdown: - a: - b: - c: - x: + - data: + topdown: + a: + b: + c: + x: + - 100 + - 200 + y: false + z: + a: b + input_term: "{}" + modules: + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package topdown.no.base.doc + + p = true + - | + package topdown.a.b.c.empty + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + - | + package topdown.conflicts + + k = "bar" + - | + package topdown.g.h + + p { + false + } + note: baseandvirtualdocs/base/virtual + query: data.topdown.p = x + sort_bindings: true + want_result: + - x: + - - c + - p + - 0 + - 1 + - - c + - p + - 1 + - 2 + - - c + - q + - 0 + - 3 + - - c + - q + - 1 + - 4 + - - c + - r + - a + - 1 + - - c + - r + - b + - 2 + - - c + - s + - w + - f: 10 + g: 9.9 + - - c + - x + - 0 - 100 + - - c + - x + - 1 - 200 - y: false - z: - a: b - input_term: '{}' - modules: - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package topdown.no.base.doc - - p = true - - | - package topdown.a.b.c.empty - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - - | - package topdown.conflicts - - k = "bar" - - | - package topdown.g.h - - p { - false - } - note: baseandvirtualdocs/base/virtual - query: data.topdown.p = x - sort_bindings: true - want_result: - - x: - - - c - - p - - 0 - - 1 - - - c - - p - - 1 - - 2 - - - c - - q - - 0 - - 3 - - - c - - q - - 1 - - 4 - - - c - - r - - a - - 1 - - - c - - r - - b - - 2 - - - c - - s - - w - - f: 10 - g: 9.9 - - - c - - x - - 0 - - 100 - - - c - - x - - 1 - - 200 - - - c - - z - - a - - b + - - c + - z + - a + - b diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0696.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0696.yaml index d57c45cfa3..08a9eebf8a 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0696.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0696.yaml @@ -1,272 +1,273 @@ +--- cases: -- data: - topdown: - a: - b: - c: - x: + - data: + topdown: + a: + b: + c: + x: + - 100 + - 200 + y: false + z: + a: b + input_term: "{}" + modules: + - | + package partial.topdown + + p[["c", "x", 0, x41]] { + data.topdown.a.b.c.x[0] = x41 + } + + p[["c", "x", 1, x41]] { + data.topdown.a.b.c.x[1] = x41 + } + + p[["c", "z", "a", x41]] { + data.topdown.a.b.c.z.a = x41 + } + + p[[ + "c", "p", 0, + 1, + ]] + + p[[ + "c", "p", 1, + 2, + ]] + + p[[ + "c", "q", 0, + 3, + ]] + + p[[ + "c", "q", 1, + 4, + ]] + + p[[ + "c", "r", + "a", 1, + ]] + + p[[ + "c", "r", + "b", 2, + ]] + + p[[ + "c", "s", "w", + {"f": 10, "g": 9.9}, + ]] + + p[[ + "c", "undefined2", "p", + true, + ]] { + input.foo + } + + p[["c", "x", 0, x41]] { + data.topdown.a.b.c.x[0] = x41 + } + + p[["c", "x", 1, x41]] { + data.topdown.a.b.c.x[1] = x41 + } + + p[["c", "z", "a", x41]] { + data.topdown.a.b.c.z.a = x41 + } + + p[[ + "c", "p", 0, + 1, + ]] + + p[[ + "c", "p", 1, + 2, + ]] + + p[[ + "c", "q", 0, + 3, + ]] + + p[[ + "c", "q", 1, + 4, + ]] + + p[[ + "c", "r", + "a", 1, + ]] + + p[[ + "c", "r", + "b", 2, + ]] + + p[[ + "c", "s", "w", + {"f": 10, "g": 9.9}, + ]] + + p[[ + "c", "undefined2", "p", + true, + ]] { + input.foo + } + - | + package topdown.a.b.c.empty + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + - | + package topdown.no.base.doc + + p = true + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package topdown.conflicts + + k = "bar" + - | + package topdown.g.h + + p { + false + } + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package topdown_test_partial + + __result__ = _result { + data.partial.topdown.p = _result + } + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + note: "baseandvirtualdocs/base/virtual: ground key" + query: data.topdown.q = x + sort_bindings: true + want_result: + - x: + - - c + - p + - 1 + - - c + - q + - 3 + - - c + - x - 100 - - 200 - y: false - z: - a: b - input_term: '{}' - modules: - - | - package partial.topdown - - p[["c", "x", 0, x41]] { - data.topdown.a.b.c.x[0] = x41 - } - - p[["c", "x", 1, x41]] { - data.topdown.a.b.c.x[1] = x41 - } - - p[["c", "z", "a", x41]] { - data.topdown.a.b.c.z.a = x41 - } - - p[[ - "c", "p", 0, - 1, - ]] - - p[[ - "c", "p", 1, - 2, - ]] - - p[[ - "c", "q", 0, - 3, - ]] - - p[[ - "c", "q", 1, - 4, - ]] - - p[[ - "c", "r", - "a", 1, - ]] - - p[[ - "c", "r", - "b", 2, - ]] - - p[[ - "c", "s", "w", - {"f": 10, "g": 9.9}, - ]] - - p[[ - "c", "undefined2", "p", - true, - ]] { - input.foo - } - - p[["c", "x", 0, x41]] { - data.topdown.a.b.c.x[0] = x41 - } - - p[["c", "x", 1, x41]] { - data.topdown.a.b.c.x[1] = x41 - } - - p[["c", "z", "a", x41]] { - data.topdown.a.b.c.z.a = x41 - } - - p[[ - "c", "p", 0, - 1, - ]] - - p[[ - "c", "p", 1, - 2, - ]] - - p[[ - "c", "q", 0, - 3, - ]] - - p[[ - "c", "q", 1, - 4, - ]] - - p[[ - "c", "r", - "a", 1, - ]] - - p[[ - "c", "r", - "b", 2, - ]] - - p[[ - "c", "s", "w", - {"f": 10, "g": 9.9}, - ]] - - p[[ - "c", "undefined2", "p", - true, - ]] { - input.foo - } - - | - package topdown.a.b.c.empty - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - - | - package topdown.no.base.doc - - p = true - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package topdown.conflicts - - k = "bar" - - | - package topdown.g.h - - p { - false - } - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package topdown_test_partial - - __result__ = _result { - data.partial.topdown.p = _result - } - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - note: 'baseandvirtualdocs/base/virtual: ground key' - query: data.topdown.q = x - sort_bindings: true - want_result: - - x: - - - c - - p - - 1 - - - c - - q - - 3 - - - c - - x - - 100 diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0697.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0697.yaml index e89941271f..810a6aa2dd 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0697.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0697.yaml @@ -1,292 +1,293 @@ +--- cases: -- data: - topdown: - a: - b: - c: - x: - - 100 - - 200 - y: false - z: - a: b - input_term: '{}' - modules: - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - - | - package partial.topdown - - p[["c", "x", 0, x41]] { - data.topdown.a.b.c.x[0] = x41 - } - - p[["c", "x", 1, x41]] { - data.topdown.a.b.c.x[1] = x41 - } - - p[["c", "z", "a", x41]] { - data.topdown.a.b.c.z.a = x41 - } - - p[[ - "c", "p", 0, - 1, - ]] - - p[[ - "c", "p", 1, - 2, - ]] - - p[[ - "c", "q", 0, - 3, - ]] - - p[[ - "c", "q", 1, - 4, - ]] - - p[[ - "c", "r", - "a", 1, - ]] - - p[[ - "c", "r", - "b", 2, - ]] - - p[[ - "c", "s", "w", - {"f": 10, "g": 9.9}, - ]] - - p[[ - "c", "undefined2", "p", - true, - ]] { - input.foo - } - - p[["c", "x", 0, x41]] { - data.topdown.a.b.c.x[0] = x41 - } - - p[["c", "x", 1, x41]] { - data.topdown.a.b.c.x[1] = x41 - } - - p[["c", "z", "a", x41]] { - data.topdown.a.b.c.z.a = x41 - } - - p[[ - "c", "p", 0, - 1, - ]] - - p[[ - "c", "p", 1, - 2, - ]] - - p[[ - "c", "q", 0, - 3, - ]] - - p[[ - "c", "q", 1, - 4, - ]] - - p[[ - "c", "r", - "a", 1, - ]] - - p[[ - "c", "r", - "b", 2, - ]] - - p[[ - "c", "s", "w", - {"f": 10, "g": 9.9}, - ]] - - p[[ - "c", "undefined2", "p", - true, - ]] { - input.foo - } - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package topdown.conflicts - - k = "bar" - - | - package topdown.g.h - - p { - false - } - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package topdown_test_partial - - __result__ = _result { - _result = {[ - "c", "p", - 1, - ], [ - "c", "q", - 3, - ], ["c", "x", 100]} - } - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package topdown.no.base.doc - - p = true - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - - | - package topdown.a.b.c.empty - note: 'baseandvirtualdocs/base/virtual: prefix' - query: data.topdown.r = x - sort_bindings: true - want_result: - - x: - - - c - - empty: {} - p: - - 1 - - 2 - q: - - 3 - - 4 - r: - a: 1 - b: 2 - s: - w: - f: 10 - g: 9.9 - undefined1: {} - undefined2: {} - x: - - 100 - - 200 - y: false - z: - a: b + - data: + topdown: + a: + b: + c: + x: + - 100 + - 200 + y: false + z: + a: b + input_term: "{}" + modules: + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + - | + package partial.topdown + + p[["c", "x", 0, x41]] { + data.topdown.a.b.c.x[0] = x41 + } + + p[["c", "x", 1, x41]] { + data.topdown.a.b.c.x[1] = x41 + } + + p[["c", "z", "a", x41]] { + data.topdown.a.b.c.z.a = x41 + } + + p[[ + "c", "p", 0, + 1, + ]] + + p[[ + "c", "p", 1, + 2, + ]] + + p[[ + "c", "q", 0, + 3, + ]] + + p[[ + "c", "q", 1, + 4, + ]] + + p[[ + "c", "r", + "a", 1, + ]] + + p[[ + "c", "r", + "b", 2, + ]] + + p[[ + "c", "s", "w", + {"f": 10, "g": 9.9}, + ]] + + p[[ + "c", "undefined2", "p", + true, + ]] { + input.foo + } + + p[["c", "x", 0, x41]] { + data.topdown.a.b.c.x[0] = x41 + } + + p[["c", "x", 1, x41]] { + data.topdown.a.b.c.x[1] = x41 + } + + p[["c", "z", "a", x41]] { + data.topdown.a.b.c.z.a = x41 + } + + p[[ + "c", "p", 0, + 1, + ]] + + p[[ + "c", "p", 1, + 2, + ]] + + p[[ + "c", "q", 0, + 3, + ]] + + p[[ + "c", "q", 1, + 4, + ]] + + p[[ + "c", "r", + "a", 1, + ]] + + p[[ + "c", "r", + "b", 2, + ]] + + p[[ + "c", "s", "w", + {"f": 10, "g": 9.9}, + ]] + + p[[ + "c", "undefined2", "p", + true, + ]] { + input.foo + } + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package topdown.conflicts + + k = "bar" + - | + package topdown.g.h + + p { + false + } + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package topdown_test_partial + + __result__ = _result { + _result = {[ + "c", "p", + 1, + ], [ + "c", "q", + 3, + ], ["c", "x", 100]} + } + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package topdown.no.base.doc + + p = true + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + - | + package topdown.a.b.c.empty + note: "baseandvirtualdocs/base/virtual: prefix" + query: data.topdown.r = x + sort_bindings: true + want_result: + - x: + - - c + - empty: {} + p: + - 1 + - 2 + q: + - 3 + - 4 + r: + a: 1 + b: 2 + s: + w: + f: 10 + g: 9.9 + undefined1: {} + undefined2: {} + x: + - 100 + - 200 + y: false + z: + a: b diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0698.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0698.yaml index 8613cdf732..6b20b55ffd 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0698.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0698.yaml @@ -1,169 +1,170 @@ +--- cases: -- data: - topdown: - set: - u: - - 1 - - 2 - - 3 - - 4 - input_term: '{}' - modules: - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package topdown.conflicts - - k = "bar" - - | - package topdown.g.h - - p { - false - } - - | - package topdown_test_partial - - __result__ = _result { - data.partial.topdown.r = _result - } - - | - package topdown.a.b.c.empty - - | - package partial.topdown - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - - | - package topdown.no.base.doc - - p = true - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - note: 'baseandvirtualdocs/base/virtual: set' - query: data.topdown.w = x - want_result: - - x: - u: - - 1 - - 2 - - 3 - - 4 - v: - - 1 - - 2 - - 3 - - 4 + - data: + topdown: + set: + u: + - 1 + - 2 + - 3 + - 4 + input_term: "{}" + modules: + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package topdown.conflicts + + k = "bar" + - | + package topdown.g.h + + p { + false + } + - | + package topdown_test_partial + + __result__ = _result { + data.partial.topdown.r = _result + } + - | + package topdown.a.b.c.empty + - | + package partial.topdown + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + - | + package topdown.no.base.doc + + p = true + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + note: "baseandvirtualdocs/base/virtual: set" + query: data.topdown.w = x + want_result: + - x: + u: + - 1 + - 2 + - 3 + - 4 + v: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0699.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0699.yaml index 1b41a749d3..4be903f5bb 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0699.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0699.yaml @@ -1,155 +1,156 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package topdown.conflicts - - k = "bar" - - | - package topdown.no.base.doc - - p = true - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package topdown.a.b.c.empty - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package topdown_test_partial - - __result__ = _result { - _result = {"u": [1, 2, 3, 4], "v": {1, 2, 3, 4}} - } - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package topdown.g.h - - p { - false - } - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package partial.topdown - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - note: 'baseandvirtualdocs/base/virtual: no base' - query: data.topdown.s = x - want_result: - - x: - base: - doc: - p: true + - data: {} + input_term: "{}" + modules: + - | + package topdown.conflicts + + k = "bar" + - | + package topdown.no.base.doc + + p = true + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package topdown.a.b.c.empty + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package topdown_test_partial + + __result__ = _result { + _result = {"u": [1, 2, 3, 4], "v": {1, 2, 3, 4}} + } + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package topdown.g.h + + p { + false + } + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package partial.topdown + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + note: "baseandvirtualdocs/base/virtual: no base" + query: data.topdown.s = x + want_result: + - x: + base: + doc: + p: true diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0700.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0700.yaml index 66f9819e93..57ac8e180a 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0700.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0700.yaml @@ -1,152 +1,153 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package topdown.a.b.c.empty - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - - | - package topdown.no.base.doc - - p = true - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - - | - package topdown_test_partial - - __result__ = _result { - _result = {"base": {"doc": {"p": true}}} - } - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package partial.topdown - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.g.h - - p { - false - } - - | - package topdown.conflicts - - k = "bar" - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - note: 'baseandvirtualdocs/base/virtual: undefined' - query: data.topdown.t = x - want_result: - - x: {} + - data: {} + input_term: "{}" + modules: + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package topdown.a.b.c.empty + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + - | + package topdown.no.base.doc + + p = true + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + - | + package topdown_test_partial + + __result__ = _result { + _result = {"base": {"doc": {"p": true}}} + } + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package partial.topdown + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.g.h + + p { + false + } + - | + package topdown.conflicts + + k = "bar" + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + note: "baseandvirtualdocs/base/virtual: undefined" + query: data.topdown.t = x + want_result: + - x: {} diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0701.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0701.yaml index 61f5830593..d143df7439 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0701.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0701.yaml @@ -1,164 +1,165 @@ +--- cases: -- data: - topdown: - g: - h: - k: - - 1 - - 2 - - 3 - input_term: '{}' - modules: - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - - | - package topdown_test_partial - - __result__ = _result { - _result = {} - } - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.g.h - - p { - false - } - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - - | - package topdown.no.base.doc - - p = true - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - - | - package topdown.a.b.c.empty - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package topdown.conflicts - - k = "bar" - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package partial.topdown - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - note: 'baseandvirtualdocs/base/virtual: undefined-2' - query: data.topdown.v = x - want_result: - - x: - h: - k: - - 1 - - 2 - - 3 + - data: + topdown: + g: + h: + k: + - 1 + - 2 + - 3 + input_term: "{}" + modules: + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + - | + package topdown_test_partial + + __result__ = _result { + _result = {} + } + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.g.h + + p { + false + } + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + - | + package topdown.no.base.doc + + p = true + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + - | + package topdown.a.b.c.empty + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package topdown.conflicts + + k = "bar" + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package partial.topdown + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + note: "baseandvirtualdocs/base/virtual: undefined-2" + query: data.topdown.v = x + want_result: + - x: + h: + k: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0702.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0702.yaml index be8dcac901..822a758eef 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0702.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0702.yaml @@ -1,152 +1,153 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package topdown.no.base.doc - - p = true - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - - | - package topdown.a.b.c.empty - - | - package topdown.conflicts - - k = "bar" - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package topdown.g.h - - p { - false - } - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package partial.topdown - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package topdown_test_partial - - __result__ = _result { - _result = {"h": {"k": [1, 2, 3]}} - } - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - note: 'baseandvirtualdocs/base/virtual: missing input value' - query: data.topdown.u = x - want_result: - - x: {} + - data: {} + input_term: "{}" + modules: + - | + package topdown.no.base.doc + + p = true + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + - | + package topdown.a.b.c.empty + - | + package topdown.conflicts + + k = "bar" + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package topdown.g.h + + p { + false + } + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package partial.topdown + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package topdown_test_partial + + __result__ = _result { + _result = {"h": {"k": [1, 2, 3]}} + } + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + note: "baseandvirtualdocs/base/virtual: missing input value" + query: data.topdown.u = x + want_result: + - x: {} diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0703.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0703.yaml index bcfae04835..1d8d87b54b 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0703.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0703.yaml @@ -1,155 +1,156 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - - | - package topdown.no.base.doc - - p = true - - | - package partial.topdown - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package topdown.conflicts - - k = "bar" - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - - | - package topdown.a.b.c.empty - - | - package topdown_test_partial - - __result__ = _result { - data.topdown.missing.input.value = _result - } - - | - package topdown.g.h - - p { - false - } - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - note: baseandvirtualdocs/iterate ground - query: data.topdown.iterate_ground = x - sort_bindings: true - want_result: - - x: - - p - - r + - data: {} + input_term: "{}" + modules: + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + - | + package topdown.no.base.doc + + p = true + - | + package partial.topdown + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package topdown.conflicts + + k = "bar" + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + - | + package topdown.a.b.c.empty + - | + package topdown_test_partial + + __result__ = _result { + data.topdown.missing.input.value = _result + } + - | + package topdown.g.h + + p { + false + } + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + note: baseandvirtualdocs/iterate ground + query: data.topdown.iterate_ground = x + sort_bindings: true + want_result: + - x: + - p + - r diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0704.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0704.yaml index 3e2344fc73..014cbf6165 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0704.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0704.yaml @@ -1,156 +1,157 @@ +--- cases: -- data: - topdown: - conflicts: - k: foo - input_term: '{}' - modules: - - | - package topdown_test_partial - - __result__ = _result { - _result = {"p", "r"} - } - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - - | - package topdown.conflicts - - k = "bar" - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package topdown.no.base.doc - - p = true - - | - package partial.topdown - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - - | - package topdown.a.b.c.empty - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - - | - package topdown.g.h - - p { - false - } - note: 'baseandvirtualdocs/base/virtual: conflicts' - query: data.topdown.conflicts = x - want_result: - - x: - k: foo + - data: + topdown: + conflicts: + k: foo + input_term: "{}" + modules: + - | + package topdown_test_partial + + __result__ = _result { + _result = {"p", "r"} + } + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + - | + package topdown.conflicts + + k = "bar" + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package topdown.no.base.doc + + p = true + - | + package partial.topdown + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + - | + package topdown.a.b.c.empty + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + - | + package topdown.g.h + + p { + false + } + note: "baseandvirtualdocs/base/virtual: conflicts" + query: data.topdown.conflicts = x + want_result: + - x: + k: foo diff --git a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0705.yaml b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0705.yaml index b01348b43d..822a1e99df 100644 --- a/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0705.yaml +++ b/test/cases/testdata/baseandvirtualdocs/test-baseandvirtualdocs-0705.yaml @@ -1,157 +1,158 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package topdown.a.b.c.s - - w = {"f": 10, "g": 9.9} - - | - package topdown.a.b.c.undefined1 - - p { - false - } - - p { - false - } - - q { - false - } - - | - package topdown.set - - v[__local6__] { - true - __local6__ = data.topdown.set.u[_] - } - - | - package enum_errors.a.b.c - - p = x { - __local0__ = 1 / 0 - x = __local0__ - } - - | - package topdown.a.b.c.empty - - | - package topdown.virtual.constants - - p = 1 - - q = 2 - - r = 1 - - | - package topdown.g.h - - p { - false - } - - | - package enum_errors.caller - - p[x] = y { - data.enum_errors.a[x] = y - } - - | - package partial.topdown - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - r[["c", x21]] { - data.topdown.a.b.c = x21 - } - - | - package topdown.missing.input.value - - p = __local7__ { - true - __local7__ = input.deadbeef - } - - | - package topdown.conflicts - - k = "bar" - - | - package topdown.no.base.doc - - p = true - - | - package topdown.a.b.c.undefined2 - - p { - input.foo - } - - | - package topdown_test_partial - - __result__ = _result { - _result = {"k": "foo"} - } - - | - package topdown - - p[[x1, x2, x3, x4]] { - data.topdown.a.b[x1][x2][x3] = x4 - } - - q[[x1, x2, x3]] { - data.topdown.a.b[x1][x2][0] = x3 - } - - r[[x1, x2]] { - data.topdown.a.b[x1] = x2 - } - - s = __local1__ { - true - __local1__ = data.topdown.no - } - - t = __local2__ { - true - __local2__ = data.topdown.a.b.c.undefined1 - } - - u = __local3__ { - true - __local3__ = data.topdown.missing.input.value - } - - v = __local4__ { - true - __local4__ = data.topdown.g - } - - w = __local5__ { - true - __local5__ = data.topdown.set - } - - iterate_ground[x] { - data.topdown.virtual.constants[x] = 1 - } - - | - package topdown.a.b.c - - p = [1, 2] - - q = [3, 4] - - r["a"] = 1 - - r["b"] = 2 - note: baseandvirtualdocs/enumerate virtual errors - query: data.enum_errors.caller.p = x - strict_error: true - want_error: divide by zero - want_error_code: eval_builtin_error - want_result: - - x: - b: - c: {} + - data: {} + input_term: "{}" + modules: + - | + package topdown.a.b.c.s + + w = {"f": 10, "g": 9.9} + - | + package topdown.a.b.c.undefined1 + + p { + false + } + + p { + false + } + + q { + false + } + - | + package topdown.set + + v[__local6__] { + true + __local6__ = data.topdown.set.u[_] + } + - | + package enum_errors.a.b.c + + p = x { + __local0__ = 1 / 0 + x = __local0__ + } + - | + package topdown.a.b.c.empty + - | + package topdown.virtual.constants + + p = 1 + + q = 2 + + r = 1 + - | + package topdown.g.h + + p { + false + } + - | + package enum_errors.caller + + p[x] = y { + data.enum_errors.a[x] = y + } + - | + package partial.topdown + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + + r[["c", x21]] { + data.topdown.a.b.c = x21 + } + - | + package topdown.missing.input.value + + p = __local7__ { + true + __local7__ = input.deadbeef + } + - | + package topdown.conflicts + + k = "bar" + - | + package topdown.no.base.doc + + p = true + - | + package topdown.a.b.c.undefined2 + + p { + input.foo + } + - | + package topdown_test_partial + + __result__ = _result { + _result = {"k": "foo"} + } + - | + package topdown + + p[[x1, x2, x3, x4]] { + data.topdown.a.b[x1][x2][x3] = x4 + } + + q[[x1, x2, x3]] { + data.topdown.a.b[x1][x2][0] = x3 + } + + r[[x1, x2]] { + data.topdown.a.b[x1] = x2 + } + + s = __local1__ { + true + __local1__ = data.topdown.no + } + + t = __local2__ { + true + __local2__ = data.topdown.a.b.c.undefined1 + } + + u = __local3__ { + true + __local3__ = data.topdown.missing.input.value + } + + v = __local4__ { + true + __local4__ = data.topdown.g + } + + w = __local5__ { + true + __local5__ = data.topdown.set + } + + iterate_ground[x] { + data.topdown.virtual.constants[x] = 1 + } + - | + package topdown.a.b.c + + p = [1, 2] + + q = [3, 4] + + r["a"] = 1 + + r["b"] = 2 + note: baseandvirtualdocs/enumerate virtual errors + query: data.enum_errors.caller.p = x + strict_error: true + want_error: divide by zero + want_error_code: eval_builtin_error + want_result: + - x: + b: + c: {} diff --git a/test/cases/testdata/bitsand/test-bitsand-0055.yaml b/test/cases/testdata/bitsand/test-bitsand-0055.yaml index 7fe7c145f3..6e2eb5e003 100644 --- a/test/cases/testdata/bitsand/test-bitsand-0055.yaml +++ b/test/cases/testdata/bitsand/test-bitsand-0055.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - bits.and(7, 9, __local1__) - __local0__ = __local1__ - } - note: bitsand/basic bitwise-and - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + p[__local0__] { + bits.and(7, 9, __local1__) + __local0__ = __local1__ + } + note: bitsand/basic bitwise-and + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/bitsand/test-bitsand-0056.yaml b/test/cases/testdata/bitsand/test-bitsand-0056.yaml index b9a728845d..e65f02800f 100644 --- a/test/cases/testdata/bitsand/test-bitsand-0056.yaml +++ b/test/cases/testdata/bitsand/test-bitsand-0056.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - bits.and(50, 0, __local1__) - __local0__ = __local1__ - } - note: bitsand/and with zero is and - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 0 + p[__local0__] { + bits.and(50, 0, __local1__) + __local0__ = __local1__ + } + note: bitsand/and with zero is and + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 0 diff --git a/test/cases/testdata/bitsand/test-bitsand-0057.yaml b/test/cases/testdata/bitsand/test-bitsand-0057.yaml index e08e3cccbe..a8bcee5a8e 100644 --- a/test/cases/testdata/bitsand/test-bitsand-0057.yaml +++ b/test/cases/testdata/bitsand/test-bitsand-0057.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - bits.and(7.2, 42, __local1__) - __local0__ = __local1__ - } - note: bitsand/lhs (float) error - query: data.generated.p = x - want_error: 'bits.and: operand 1 must be integer number but got floating-point number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + bits.and(7.2, 42, __local1__) + __local0__ = __local1__ + } + note: bitsand/lhs (float) error + query: data.generated.p = x + want_error: "bits.and: operand 1 must be integer number but got floating-point number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/bitsnegate/test-bitsnegate-0058.yaml b/test/cases/testdata/bitsnegate/test-bitsnegate-0058.yaml index cdcd768d5b..b35153a128 100644 --- a/test/cases/testdata/bitsnegate/test-bitsnegate-0058.yaml +++ b/test/cases/testdata/bitsnegate/test-bitsnegate-0058.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - bits.negate(42, __local1__) - __local0__ = __local1__ - } - note: bitsnegate/basic bitwise-negate - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - -43 + p[__local0__] { + bits.negate(42, __local1__) + __local0__ = __local1__ + } + note: bitsnegate/basic bitwise-negate + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - -43 diff --git a/test/cases/testdata/bitsnegate/test-bitsnegate-0059.yaml b/test/cases/testdata/bitsnegate/test-bitsnegate-0059.yaml index 376c0993bc..1a4ee56b66 100644 --- a/test/cases/testdata/bitsnegate/test-bitsnegate-0059.yaml +++ b/test/cases/testdata/bitsnegate/test-bitsnegate-0059.yaml @@ -1,16 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - bits.negate(7.2, __local1__) - __local0__ = __local1__ - } - note: bitsnegate/float error - query: data.generated.p = x - want_error: 'bits.negate: operand 1 must be integer number but got floating-point - number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + bits.negate(7.2, __local1__) + __local0__ = __local1__ + } + note: bitsnegate/float error + query: data.generated.p = x + want_error: + "bits.negate: operand 1 must be integer number but got floating-point + number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/bitsor/test-bitsor-0052.yaml b/test/cases/testdata/bitsor/test-bitsor-0052.yaml index 68e615fb17..e7b85b302e 100644 --- a/test/cases/testdata/bitsor/test-bitsor-0052.yaml +++ b/test/cases/testdata/bitsor/test-bitsor-0052.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - bits.or(7, 9, __local1__) - __local0__ = __local1__ - } - note: bitsor/basic bitwise-or - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 15 + p[__local0__] { + bits.or(7, 9, __local1__) + __local0__ = __local1__ + } + note: bitsor/basic bitwise-or + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 15 diff --git a/test/cases/testdata/bitsor/test-bitsor-0053.yaml b/test/cases/testdata/bitsor/test-bitsor-0053.yaml index 23dca73b1a..9a0c805851 100644 --- a/test/cases/testdata/bitsor/test-bitsor-0053.yaml +++ b/test/cases/testdata/bitsor/test-bitsor-0053.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - bits.or(50, 0, __local1__) - __local0__ = __local1__ - } - note: bitsor/or with zero is value - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 50 + p[__local0__] { + bits.or(50, 0, __local1__) + __local0__ = __local1__ + } + note: bitsor/or with zero is value + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 50 diff --git a/test/cases/testdata/bitsor/test-bitsor-0054.yaml b/test/cases/testdata/bitsor/test-bitsor-0054.yaml index 6edd185fea..f6c068d7b4 100644 --- a/test/cases/testdata/bitsor/test-bitsor-0054.yaml +++ b/test/cases/testdata/bitsor/test-bitsor-0054.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - bits.or(7.2, 42, __local1__) - __local0__ = __local1__ - } - note: bitsor/lhs (float) error - query: data.generated.p = x - want_error: 'bits.or: operand 1 must be integer number but got floating-point number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + bits.or(7.2, 42, __local1__) + __local0__ = __local1__ + } + note: bitsor/lhs (float) error + query: data.generated.p = x + want_error: "bits.or: operand 1 must be integer number but got floating-point number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0063.yaml b/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0063.yaml index 3e96155cfa..b2033d6591 100644 --- a/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0063.yaml +++ b/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0063.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - bits.lsh(1, 3, __local1__) - __local0__ = __local1__ - } - note: bitsshiftleft/basic shift-left - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 8 + p[__local0__] { + bits.lsh(1, 3, __local1__) + __local0__ = __local1__ + } + note: bitsshiftleft/basic shift-left + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 8 diff --git a/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0064.yaml b/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0064.yaml index f01d812a39..ce2bc41250 100644 --- a/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0064.yaml +++ b/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0064.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - bits.lsh(7.2, 42, __local1__) - __local0__ = __local1__ - } - note: bitsshiftleft/lhs (float) error - query: data.generated.p = x - want_error: 'bits.lsh: operand 1 must be integer number but got floating-point number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + bits.lsh(7.2, 42, __local1__) + __local0__ = __local1__ + } + note: bitsshiftleft/lhs (float) error + query: data.generated.p = x + want_error: "bits.lsh: operand 1 must be integer number but got floating-point number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0065.yaml b/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0065.yaml index e6c21a4e68..87d97a973b 100644 --- a/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0065.yaml +++ b/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0065.yaml @@ -1,16 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - bits.lsh(7, -1, __local1__) - __local0__ = __local1__ - } - note: bitsshiftleft/rhs must be unsigned - query: data.generated.p = x - want_error: 'bits.lsh: operand 2 must be an unsigned integer number but got a negative - integer' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + bits.lsh(7, -1, __local1__) + __local0__ = __local1__ + } + note: bitsshiftleft/rhs must be unsigned + query: data.generated.p = x + want_error: + "bits.lsh: operand 2 must be an unsigned integer number but got a negative + integer" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0066.yaml b/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0066.yaml index 8cf62654a9..01c00f03d2 100644 --- a/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0066.yaml +++ b/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0066.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - bits.lsh(2147483647, 1, __local1__) - __local0__ = __local1__ - } - note: bitsshiftleft/shift of max int32 doesn't overflow - query: data.generated.p = x - want_result: - - x: 4294967294 + p = __local0__ { + bits.lsh(2147483647, 1, __local1__) + __local0__ = __local1__ + } + note: bitsshiftleft/shift of max int32 doesn't overflow + query: data.generated.p = x + want_result: + - x: 4294967294 diff --git a/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0067.yaml b/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0067.yaml index 5cf5b495fc..0bdccef471 100644 --- a/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0067.yaml +++ b/test/cases/testdata/bitsshiftleft/test-bitsshiftleft-0067.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - bits.lsh(9223372036854775807, 1, __local1__) - __local0__ = __local1__ - } - note: bitsshiftleft/shift of max int64 doesn't overflow and is not lossy - query: data.generated.p = x - want_result: - - x: 18446744073709551614 + p = __local0__ { + bits.lsh(9223372036854775807, 1, __local1__) + __local0__ = __local1__ + } + note: bitsshiftleft/shift of max int64 doesn't overflow and is not lossy + query: data.generated.p = x + want_result: + - x: 18446744073709551614 diff --git a/test/cases/testdata/bitsshiftright/test-bitsshiftright-0068.yaml b/test/cases/testdata/bitsshiftright/test-bitsshiftright-0068.yaml index 6684f23e19..4c178e912b 100644 --- a/test/cases/testdata/bitsshiftright/test-bitsshiftright-0068.yaml +++ b/test/cases/testdata/bitsshiftright/test-bitsshiftright-0068.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - bits.rsh(8, 3, __local1__) - __local0__ = __local1__ - } - note: bitsshiftright/basic shift-right - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + p[__local0__] { + bits.rsh(8, 3, __local1__) + __local0__ = __local1__ + } + note: bitsshiftright/basic shift-right + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/bitsshiftright/test-bitsshiftright-0069.yaml b/test/cases/testdata/bitsshiftright/test-bitsshiftright-0069.yaml index 64fce11b24..de65735298 100644 --- a/test/cases/testdata/bitsshiftright/test-bitsshiftright-0069.yaml +++ b/test/cases/testdata/bitsshiftright/test-bitsshiftright-0069.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - bits.rsh(7.2, 42, __local1__) - __local0__ = __local1__ - } - note: bitsshiftright/lhs (float) error - query: data.generated.p = x - want_error: 'bits.rsh: operand 1 must be integer number but got floating-point number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + bits.rsh(7.2, 42, __local1__) + __local0__ = __local1__ + } + note: bitsshiftright/lhs (float) error + query: data.generated.p = x + want_error: "bits.rsh: operand 1 must be integer number but got floating-point number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/bitsshiftright/test-bitsshiftright-0070.yaml b/test/cases/testdata/bitsshiftright/test-bitsshiftright-0070.yaml index b0c4a1a6a7..0e1a7e8b24 100644 --- a/test/cases/testdata/bitsshiftright/test-bitsshiftright-0070.yaml +++ b/test/cases/testdata/bitsshiftright/test-bitsshiftright-0070.yaml @@ -1,16 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - bits.rsh(7, -1, __local1__) - __local0__ = __local1__ - } - note: bitsshiftright/rhs must be unsigned - query: data.generated.p = x - want_error: 'bits.rsh: operand 2 must be an unsigned integer number but got a negative - integer' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + bits.rsh(7, -1, __local1__) + __local0__ = __local1__ + } + note: bitsshiftright/rhs must be unsigned + query: data.generated.p = x + want_error: + "bits.rsh: operand 2 must be an unsigned integer number but got a negative + integer" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/bitsxor/test-bitsxor-0060.yaml b/test/cases/testdata/bitsxor/test-bitsxor-0060.yaml index 7104cc2117..9a3f026b7d 100644 --- a/test/cases/testdata/bitsxor/test-bitsxor-0060.yaml +++ b/test/cases/testdata/bitsxor/test-bitsxor-0060.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - bits.xor(42, 3, __local1__) - __local0__ = __local1__ - } - note: bitsxor/basic bitwise-xor - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 41 + p[__local0__] { + bits.xor(42, 3, __local1__) + __local0__ = __local1__ + } + note: bitsxor/basic bitwise-xor + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 41 diff --git a/test/cases/testdata/bitsxor/test-bitsxor-0061.yaml b/test/cases/testdata/bitsxor/test-bitsxor-0061.yaml index 9843331b4b..c49c615a6f 100644 --- a/test/cases/testdata/bitsxor/test-bitsxor-0061.yaml +++ b/test/cases/testdata/bitsxor/test-bitsxor-0061.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - bits.xor(42, 42, __local1__) - __local0__ = __local1__ - } - note: bitsxor/xor same is 0 - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 0 + p[__local0__] { + bits.xor(42, 42, __local1__) + __local0__ = __local1__ + } + note: bitsxor/xor same is 0 + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 0 diff --git a/test/cases/testdata/bitsxor/test-bitsxor-0062.yaml b/test/cases/testdata/bitsxor/test-bitsxor-0062.yaml index 8d71f08f94..e5222a6603 100644 --- a/test/cases/testdata/bitsxor/test-bitsxor-0062.yaml +++ b/test/cases/testdata/bitsxor/test-bitsxor-0062.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - bits.xor(7.2, 42, __local1__) - __local0__ = __local1__ - } - note: bitsxor/lhs (float) error - query: data.generated.p = x - want_error: 'bits.xor: operand 1 must be integer number but got floating-point number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + bits.xor(7.2, 42, __local1__) + __local0__ = __local1__ + } + note: bitsxor/lhs (float) error + query: data.generated.p = x + want_error: "bits.xor: operand 1 must be integer number but got floating-point number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/casts/test-casts-0077.yaml b/test/cases/testdata/casts/test-casts-0077.yaml index b99dc75aaf..4a9bb519e2 100644 --- a/test/cases/testdata/casts/test-casts-0077.yaml +++ b/test/cases/testdata/casts/test-casts-0077.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - cast_null(null, x) - } - note: casts/null valid - query: data.generated.p = x - want_result: - - x: null + p = x { + cast_null(null, x) + } + note: casts/null valid + query: data.generated.p = x + want_result: + - x: null diff --git a/test/cases/testdata/casts/test-casts-0078.yaml b/test/cases/testdata/casts/test-casts-0078.yaml index 617594f05a..8494332fb4 100644 --- a/test/cases/testdata/casts/test-casts-0078.yaml +++ b/test/cases/testdata/casts/test-casts-0078.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - cast_null({}, x) - } - note: casts/null invalid - query: data.generated.p = x - want_error: "" - want_error_code: eval_type_error - strict_error: true + p = x { + cast_null({}, x) + } + note: casts/null invalid + query: data.generated.p = x + want_error: "" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/casts/test-casts-0079.yaml b/test/cases/testdata/casts/test-casts-0079.yaml index ecd2d81ed8..4e9c798d48 100644 --- a/test/cases/testdata/casts/test-casts-0079.yaml +++ b/test/cases/testdata/casts/test-casts-0079.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - op1: - - 1 - - 2 - - 3 - modules: - - | - package generated + - data: + op1: + - 1 + - 2 + - 3 + modules: + - | + package generated - p = x { - cast_string(data.op1, x) - } - note: casts/string invalid - query: data.generated.p = x - strict_error: true - want_error: '' - want_error_code: eval_type_error + p = x { + cast_string(data.op1, x) + } + note: casts/string invalid + query: data.generated.p = x + strict_error: true + want_error: "" + want_error_code: eval_type_error diff --git a/test/cases/testdata/casts/test-casts-0080.yaml b/test/cases/testdata/casts/test-casts-0080.yaml index 8e0a5c573d..ace76e0a5f 100644 --- a/test/cases/testdata/casts/test-casts-0080.yaml +++ b/test/cases/testdata/casts/test-casts-0080.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - cast_boolean(false, x) - } - note: casts/boolean valid - query: data.generated.p = x - want_result: - - x: false + p = x { + cast_boolean(false, x) + } + note: casts/boolean valid + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/casts/test-casts-0081.yaml b/test/cases/testdata/casts/test-casts-0081.yaml index af03efdd3a..5bb7f6bf58 100644 --- a/test/cases/testdata/casts/test-casts-0081.yaml +++ b/test/cases/testdata/casts/test-casts-0081.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - cast_boolean(1, x) - } - note: casts/boolean invalid - query: data.generated.p = x - want_error: "" - want_error_code: eval_type_error - strict_error: true + p = x { + cast_boolean(1, x) + } + note: casts/boolean invalid + query: data.generated.p = x + want_error: "" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/casts/test-casts-0082.yaml b/test/cases/testdata/casts/test-casts-0082.yaml index f302a7e996..0f5275d1b3 100644 --- a/test/cases/testdata/casts/test-casts-0082.yaml +++ b/test/cases/testdata/casts/test-casts-0082.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - cast_object({}, x) - } - note: casts/obj valid - query: data.generated.p = x - want_result: - - x: {} + p = x { + cast_object({}, x) + } + note: casts/obj valid + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/casts/test-casts-0083.yaml b/test/cases/testdata/casts/test-casts-0083.yaml index e3b816dea7..8b38455496 100644 --- a/test/cases/testdata/casts/test-casts-0083.yaml +++ b/test/cases/testdata/casts/test-casts-0083.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - cast_object([1, 2, 3], x) - } - note: casts/obj invalid - query: data.generated.p = x - want_error: "" - want_error_code: eval_type_error - strict_error: true + p = x { + cast_object([1, 2, 3], x) + } + note: casts/obj invalid + query: data.generated.p = x + want_error: "" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/casts/test-casts-0824.yaml b/test/cases/testdata/casts/test-casts-0824.yaml index 0d608cad82..0ab2b4f36a 100644 --- a/test/cases/testdata/casts/test-casts-0824.yaml +++ b/test/cases/testdata/casts/test-casts-0824.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z, i, j] { - to_number("-42.0", x) - to_number(false, y) - to_number(100.1, z) - to_number(null, i) - to_number(true, j) - } - note: casts/to_number - query: data.generated.p = x - want_result: - - x: - - -42 - - 0 - - 100.1 - - 0 - - 1 + p = [x, y, z, i, j] { + to_number("-42.0", x) + to_number(false, y) + to_number(100.1, z) + to_number(null, i) + to_number(true, j) + } + note: casts/to_number + query: data.generated.p = x + want_result: + - x: + - -42 + - 0 + - 100.1 + - 0 + - 1 diff --git a/test/cases/testdata/casts/test-casts-0825.yaml b/test/cases/testdata/casts/test-casts-0825.yaml index d85d92e079..81f4c54777 100644 --- a/test/cases/testdata/casts/test-casts-0825.yaml +++ b/test/cases/testdata/casts/test-casts-0825.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = data.a[2] - to_number("3", __local0__) - } - note: casts/to_number ref dest - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.a[2] + to_number("3", __local0__) + } + note: casts/to_number ref dest + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/casts/test-casts-0826.yaml b/test/cases/testdata/casts/test-casts-0826.yaml index d60bdf7644..2fb77999a2 100644 --- a/test/cases/testdata/casts/test-casts-0826.yaml +++ b/test/cases/testdata/casts/test-casts-0826.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = data.a[2] - not to_number("-1", __local0__) - } - note: casts/to_number ref dest - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.a[2] + not to_number("-1", __local0__) + } + note: casts/to_number ref dest + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/casts/test-casts-0827.yaml b/test/cases/testdata/casts/test-casts-0827.yaml index 5b02792b8b..70dca6c136 100644 --- a/test/cases/testdata/casts/test-casts-0827.yaml +++ b/test/cases/testdata/casts/test-casts-0827.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p { - to_number("broken", x) - } - note: 'casts/to_number: bad input' - query: data.generated.p = x - want_error: invalid syntax - want_error_code: eval_builtin_error - strict_error: true + p { + to_number("broken", x) + } + note: "casts/to_number: bad input" + query: data.generated.p = x + want_error: invalid syntax + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0608.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0608.yaml index 6e4904359f..9b57fa80aa 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0608.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0608.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - 1 = 1 - data.a[i] = x - x = 2 - } - note: comparisonexpr/equals - query: data.generated.p = x - want_result: - - x: true + p { + 1 = 1 + data.a[i] = x + x = 2 + } + note: comparisonexpr/equals + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0609.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0609.yaml index 6d0b343723..03a4e2aaba 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0609.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0609.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - 0 != 1 - data.a[i] = x - x != 2 - } - note: comparisonexpr/noteq - query: data.generated.p = x - want_result: - - x: true + p { + 0 != 1 + data.a[i] = x + x != 2 + } + note: comparisonexpr/noteq + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0610.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0610.yaml index 0f379469e7..1ba8d8c067 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0610.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0610.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - 1 > 0 - data.a[i] = x - x > 2 - } - note: comparisonexpr/gt - query: data.generated.p = x - want_result: - - x: true + p { + 1 > 0 + data.a[i] = x + x > 2 + } + note: comparisonexpr/gt + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0611.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0611.yaml index 78f01ac9c4..34dfc8504a 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0611.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0611.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - 1 >= 1 - data.a[i] = x - x >= 4 - } - note: comparisonexpr/gteq - query: data.generated.p = x - want_result: - - x: true + p { + 1 >= 1 + data.a[i] = x + x >= 4 + } + note: comparisonexpr/gteq + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0612.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0612.yaml index e6b702ff6b..69c3793cd8 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0612.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0612.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - -1 < 0 - data.a[i] = x - x < 5 - } - note: comparisonexpr/lt - query: data.generated.p = x - want_result: - - x: true + p { + -1 < 0 + data.a[i] = x + x < 5 + } + note: comparisonexpr/lt + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0613.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0613.yaml index c0c8d13d34..b45c7a6cb8 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0613.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0613.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - -1 <= 0 - data.a[i] = x - x <= 1 - } - note: comparisonexpr/lteq - query: data.generated.p = x - want_result: - - x: true + p { + -1 <= 0 + data.a[i] = x + x <= 1 + } + note: comparisonexpr/lteq + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0614.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0614.yaml index 9594a337bf..78252483de 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0614.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0614.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - 0 = 1 - } - note: 'comparisonexpr/undefined: equals' - query: data.generated.p = x - want_result: [] + p { + 0 = 1 + } + note: "comparisonexpr/undefined: equals" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0615.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0615.yaml index bd9c7fb2ef..4a682af3e9 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0615.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0615.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - 0 != 0 - } - note: 'comparisonexpr/undefined: noteq' - query: data.generated.p = x - want_result: [] + p { + 0 != 0 + } + note: "comparisonexpr/undefined: noteq" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0616.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0616.yaml index b74ea57ac7..f06dab3354 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0616.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0616.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - 1 > 2 - } - note: 'comparisonexpr/undefined: gt' - query: data.generated.p = x - want_result: [] + p { + 1 > 2 + } + note: "comparisonexpr/undefined: gt" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0617.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0617.yaml index db9ec004d1..34ffbc139b 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0617.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0617.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - 1 >= 2 - } - note: 'comparisonexpr/undefined: gteq' - query: data.generated.p = x - want_result: [] + p { + 1 >= 2 + } + note: "comparisonexpr/undefined: gteq" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0618.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0618.yaml index 95ed040280..0fc6bbeeb8 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0618.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0618.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - 1 < -1 - } - note: 'comparisonexpr/undefined: lt' - query: data.generated.p = x - want_result: [] + p { + 1 < -1 + } + note: "comparisonexpr/undefined: lt" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0619.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0619.yaml index cbd97f5123..9480f3c2a1 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0619.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0619.yaml @@ -1,11 +1,12 @@ +--- cases: -- modules: - - | - package generated + - modules: + - | + package generated - p { - 1 <= -1 - } - note: 'comparisonexpr/undefined: lteq' - query: data.generated.p = x - want_result: [] + p { + 1 <= -1 + } + note: "comparisonexpr/undefined: lteq" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0620.yaml b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0620.yaml index 8479d208ba..0809feb2b9 100644 --- a/test/cases/testdata/comparisonexpr/test-comparisonexpr-0620.yaml +++ b/test/cases/testdata/comparisonexpr/test-comparisonexpr-0620.yaml @@ -1,47 +1,48 @@ +--- cases: -# Leaving out floats as map keys until this is resolved: -# https://github.com/open-policy-agent/opa/issues/4797 -- modules: - - | - package comparison + # Leaving out floats as map keys until this is resolved: + # https://github.com/open-policy-agent/opa/issues/4797 + - modules: + - | + package comparison - p { - 1 == 1.0 - } - note: 'comparisonexpr/numbers: int and float comparison' - query: data.comparison.p = x - want_result: - - x: true -- modules: - - | - package comparison - - p { - [1] == [1.0] - } - note: 'comparisonexpr/numbers: int and float array comparison' - query: data.comparison.p = x - want_result: - - x: true -- modules: - - | - package comparison - - p { - {1: 1} == {1: 1.0} - } - note: 'comparisonexpr/numbers: int and float object comparison' - query: data.comparison.p = x - want_result: - - x: true -- modules: - - | - package comparison - - p { - {"x": [1, 2, {"b": 3.0}]} == {"x": [1, 2, {"b": 3}]} - } - note: 'comparisonexpr/numbers: int and float nested object comparison' - query: data.comparison.p = x - want_result: - - x: true + p { + 1 == 1.0 + } + note: "comparisonexpr/numbers: int and float comparison" + query: data.comparison.p = x + want_result: + - x: true + - modules: + - | + package comparison + + p { + [1] == [1.0] + } + note: "comparisonexpr/numbers: int and float array comparison" + query: data.comparison.p = x + want_result: + - x: true + - modules: + - | + package comparison + + p { + {1: 1} == {1: 1.0} + } + note: "comparisonexpr/numbers: int and float object comparison" + query: data.comparison.p = x + want_result: + - x: true + - modules: + - | + package comparison + + p { + {"x": [1, 2, {"b": 3.0}]} == {"x": [1, 2, {"b": 3}]} + } + note: "comparisonexpr/numbers: int and float nested object comparison" + query: data.comparison.p = x + want_result: + - x: true diff --git a/test/cases/testdata/completedoc/test-completedoc-0495.yaml b/test/cases/testdata/completedoc/test-completedoc-0495.yaml index ffd477fef5..e5f0c9fc90 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0495.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0495.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = null { - false - } - note: completedoc/undefined - query: data.generated.p = x - want_result: [] + p = null { + false + } + note: completedoc/undefined + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/completedoc/test-completedoc-0496.yaml b/test/cases/testdata/completedoc/test-completedoc-0496.yaml index 2eabcb8db2..3a0d060ded 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0496.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0496.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = null - note: completedoc/null - query: data.generated.p = x - want_result: - - x: null + p = null + note: completedoc/null + query: data.generated.p = x + want_result: + - x: null diff --git a/test/cases/testdata/completedoc/test-completedoc-0497.yaml b/test/cases/testdata/completedoc/test-completedoc-0497.yaml index 92c67fdce5..d831729fa4 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0497.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0497.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = true - note: 'completedoc/bool: true' - query: data.generated.p = x - want_result: - - x: true + p = true + note: "completedoc/bool: true" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/completedoc/test-completedoc-0498.yaml b/test/cases/testdata/completedoc/test-completedoc-0498.yaml index ae688c4a4f..436fcf13c0 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0498.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0498.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = false - note: 'completedoc/bool: false' - query: data.generated.p = x - want_result: - - x: false + p = false + note: "completedoc/bool: false" + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/completedoc/test-completedoc-0499.yaml b/test/cases/testdata/completedoc/test-completedoc-0499.yaml index ee066d57b4..4f68567974 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0499.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0499.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = 3 - note: 'completedoc/number: 3' - query: data.generated.p = x - want_result: - - x: 3 + p = 3 + note: "completedoc/number: 3" + query: data.generated.p = x + want_result: + - x: 3 diff --git a/test/cases/testdata/completedoc/test-completedoc-0500.yaml b/test/cases/testdata/completedoc/test-completedoc-0500.yaml index 3ed93a82a5..00fa23a129 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0500.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0500.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = 3 - note: 'completedoc/number: 3.0' - query: data.generated.p = x - want_result: - - x: 3 + p = 3 + note: "completedoc/number: 3.0" + query: data.generated.p = x + want_result: + - x: 3 diff --git a/test/cases/testdata/completedoc/test-completedoc-0501.yaml b/test/cases/testdata/completedoc/test-completedoc-0501.yaml index 448832c9b3..332cdd2d5f 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0501.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0501.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = 66.66667 - note: 'completedoc/number: 66.66667' - query: data.generated.p = x - want_result: - - x: 66.66667 + p = 66.66667 + note: "completedoc/number: 66.66667" + query: data.generated.p = x + want_result: + - x: 66.66667 diff --git a/test/cases/testdata/completedoc/test-completedoc-0502.yaml b/test/cases/testdata/completedoc/test-completedoc-0502.yaml index cf4b4ddc3c..2687d5d4af 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0502.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0502.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = "hello" - note: 'completedoc/string: "hello"' - query: data.generated.p = x - want_result: - - x: hello + p = "hello" + note: 'completedoc/string: "hello"' + query: data.generated.p = x + want_result: + - x: hello diff --git a/test/cases/testdata/completedoc/test-completedoc-0503.yaml b/test/cases/testdata/completedoc/test-completedoc-0503.yaml index 35b7aa68c8..ca19d3dd73 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0503.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0503.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = "" - note: 'completedoc/string: ""' - query: data.generated.p = x - want_result: - - x: '' + p = "" + note: 'completedoc/string: ""' + query: data.generated.p = x + want_result: + - x: "" diff --git a/test/cases/testdata/completedoc/test-completedoc-0504.yaml b/test/cases/testdata/completedoc/test-completedoc-0504.yaml index 61db8843a6..e806fcc8d3 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0504.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0504.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [1, 2, 3, 4] - note: 'completedoc/array: [1,2,3,4]' - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + p = [1, 2, 3, 4] + note: "completedoc/array: [1,2,3,4]" + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/completedoc/test-completedoc-0505.yaml b/test/cases/testdata/completedoc/test-completedoc-0505.yaml index 1e5b683c7d..cbaf83f5cc 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0505.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0505.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [] - note: 'completedoc/array: []' - query: data.generated.p = x - want_result: - - x: [] + p = [] + note: "completedoc/array: []" + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/completedoc/test-completedoc-0506.yaml b/test/cases/testdata/completedoc/test-completedoc-0506.yaml index 86554fc39a..81f9aa008b 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0506.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0506.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = {"a": [1], "b": [2], "c": [3]} - note: 'completedoc/object/nested composites: {"a": [1], "b": [2], "c": [3]}' - query: data.generated.p = x - want_result: - - x: - a: - - 1 - b: - - 2 - c: - - 3 + p = {"a": [1], "b": [2], "c": [3]} + note: 'completedoc/object/nested composites: {"a": [1], "b": [2], "c": [3]}' + query: data.generated.p = x + want_result: + - x: + a: + - 1 + b: + - 2 + c: + - 3 diff --git a/test/cases/testdata/completedoc/test-completedoc-0507.yaml b/test/cases/testdata/completedoc/test-completedoc-0507.yaml index 8f58d7e3b7..d022211dbb 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0507.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0507.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = {1: 2, {3: 4}: 5} - note: 'completedoc/object/non-string key:' - query: data.generated.p = x - want_result: - - x: - '1': 2 - '{"3":4}': 5 + p = {1: 2, {3: 4}: 5} + note: "completedoc/object/non-string key:" + query: data.generated.p = x + want_result: + - x: + "1": 2 + '{"3":4}': 5 diff --git a/test/cases/testdata/completedoc/test-completedoc-0508.yaml b/test/cases/testdata/completedoc/test-completedoc-0508.yaml index b6f7e44818..619f4260d3 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0508.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0508.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = {{1, 2}, {2, 3}} - note: 'completedoc/set/nested: {{1,2},{2,3}}' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - 2 - - - 2 - - 3 + p = {{1, 2}, {2, 3}} + note: "completedoc/set/nested: {{1,2},{2,3}}" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - 2 + - - 2 + - 3 diff --git a/test/cases/testdata/completedoc/test-completedoc-0509.yaml b/test/cases/testdata/completedoc/test-completedoc-0509.yaml index 0126a9e332..ed5e4da502 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0509.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0509.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = {"a": [x, y]} { - x = 1 - y = 2 - } - note: completedoc/vars - query: data.generated.p = x - want_result: - - x: - a: - - 1 - - 2 + p = {"a": [x, y]} { + x = 1 + y = 2 + } + note: completedoc/vars + query: data.generated.p = x + want_result: + - x: + a: + - 1 + - 2 diff --git a/test/cases/testdata/completedoc/test-completedoc-0510.yaml b/test/cases/testdata/completedoc/test-completedoc-0510.yaml index 64f3732111..92b0a6764a 100644 --- a/test/cases/testdata/completedoc/test-completedoc-0510.yaml +++ b/test/cases/testdata/completedoc/test-completedoc-0510.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = {"a": [x, y]} { - xs = [1, 2] - ys = [1, 2] - x = xs[_] - y = ys[_] - } - note: completedoc/vars conflict - query: data.generated.p = x - want_error: complete rules must not produce multiple outputs - want_error_code: eval_conflict_error + p = {"a": [x, y]} { + xs = [1, 2] + ys = [1, 2] + x = xs[_] + y = ys[_] + } + note: completedoc/vars conflict + query: data.generated.p = x + want_error: complete rules must not produce multiple outputs + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/compositebasedereference/test-compositebasedereference-1073.yaml b/test/cases/testdata/compositebasedereference/test-compositebasedereference-1073.yaml index 21c865215c..9c74d9d12d 100644 --- a/test/cases/testdata/compositebasedereference/test-compositebasedereference-1073.yaml +++ b/test/cases/testdata/compositebasedereference/test-compositebasedereference-1073.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - not data.a[[0]] - } - note: compositebasedereference/array - query: data.generated.p = x - want_result: - - x: true + p { + not data.a[[0]] + } + note: compositebasedereference/array + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/compositebasedereference/test-compositebasedereference-1074.yaml b/test/cases/testdata/compositebasedereference/test-compositebasedereference-1074.yaml index e5abbf5557..4d961638e8 100644 --- a/test/cases/testdata/compositebasedereference/test-compositebasedereference-1074.yaml +++ b/test/cases/testdata/compositebasedereference/test-compositebasedereference-1074.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - not data.a[{"b": "c"}] - } - note: compositebasedereference/object - query: data.generated.p = x - want_result: - - x: true + p { + not data.a[{"b": "c"}] + } + note: compositebasedereference/object + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/compositebasedereference/test-compositebasedereference-1075.yaml b/test/cases/testdata/compositebasedereference/test-compositebasedereference-1075.yaml index fa9524b850..7ece55ec69 100644 --- a/test/cases/testdata/compositebasedereference/test-compositebasedereference-1075.yaml +++ b/test/cases/testdata/compositebasedereference/test-compositebasedereference-1075.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - not data.a[["b"]] - } - note: compositebasedereference/set - query: data.generated.p = x - want_result: - - x: true + p { + not data.a[["b"]] + } + note: compositebasedereference/set + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0743.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0743.yaml index 9db00ab311..9472ed2dcf 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0743.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0743.yaml @@ -1,38 +1,39 @@ +--- cases: -- data: {} - modules: - - | - package fixture + - data: {} + modules: + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - - | - package test + p1[[2, 2]] + - | + package test - p = __local0__ { - true - __local0__ = data.fixture.r[[1, 2]] - } - note: compositereferences/array - query: data.test.p = x - want_result: - - x: - - 1 - - 2 + p = __local0__ { + true + __local0__ = data.fixture.r[[1, 2]] + } + note: compositereferences/array + query: data.test.p = x + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0744.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0744.yaml index bb127b14da..6af1c884de 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0744.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0744.yaml @@ -1,37 +1,38 @@ +--- cases: -- data: {} - modules: - - | - package fixture + - data: {} + modules: + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - - | - package test + p1[[2, 2]] + - | + package test - p = __local0__ { - true - __local0__ = data.fixture.r[{"foo": "bar"}] - } - note: compositereferences/object - query: data.test.p = x - want_result: - - x: - foo: bar + p = __local0__ { + true + __local0__ = data.fixture.r[{"foo": "bar"}] + } + note: compositereferences/object + query: data.test.p = x + want_result: + - x: + foo: bar diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0745.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0745.yaml index 5d1a9d40fe..b186eb9520 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0745.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0745.yaml @@ -1,38 +1,39 @@ +--- cases: -- data: {} - modules: - - | - package test + - data: {} + modules: + - | + package test - p = __local0__ { - true - __local0__ = data.fixture.r[{1, 2}] - } - - | - package fixture + p = __local0__ { + true + __local0__ = data.fixture.r[{1, 2}] + } + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - note: compositereferences/set - query: data.test.p = x - want_result: - - x: - - 1 - - 2 + p1[[2, 2]] + note: compositereferences/set + query: data.test.p = x + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0746.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0746.yaml index d985d7e012..73a8352860 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0746.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0746.yaml @@ -1,39 +1,40 @@ +--- cases: -- data: {} - modules: - - | - package fixture + - data: {} + modules: + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - - | - package test + p1[[2, 2]] + - | + package test - p = __local0__ { - true - __local0__ = [x | data.fixture.r[[1, x]]] - } - note: compositereferences/unify array - query: data.test.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 + p = __local0__ { + true + __local0__ = [x | data.fixture.r[[1, x]]] + } + note: compositereferences/unify array + query: data.test.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0747.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0747.yaml index 1e312076aa..a37f9a3786 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0747.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0747.yaml @@ -1,37 +1,38 @@ +--- cases: -- data: {} - modules: - - | - package fixture + - data: {} + modules: + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - - | - package test + p1[[2, 2]] + - | + package test - p = __local0__ { - true - __local0__ = [x | data.fixture.r[{"foo": x}]] - } - note: compositereferences/unify object - query: data.test.p = x - want_result: - - x: - - bar + p = __local0__ { + true + __local0__ = [x | data.fixture.r[{"foo": x}]] + } + note: compositereferences/unify object + query: data.test.p = x + want_result: + - x: + - bar diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0748.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0748.yaml index 6091747384..eb287a4711 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0748.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0748.yaml @@ -1,39 +1,40 @@ +--- cases: -- data: {} - modules: - - | - package test + - data: {} + modules: + - | + package test - p = __local0__ { - true - __local0__ = [x | data.fixture.p1[[x, 2]]] - } - - | - package fixture + p = __local0__ { + true + __local0__ = [x | data.fixture.p1[[x, 2]]] + } + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - note: compositereferences/unify partial ground array - query: data.test.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p1[[2, 2]] + note: compositereferences/unify partial ground array + query: data.test.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0749.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0749.yaml index 4455a0861a..423c215531 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0749.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0749.yaml @@ -1,46 +1,47 @@ +--- cases: -- data: {} - modules: - - | - package test - - p = __local0__ { - true - __local0__ = [[x, y] | data.fixture.s[[x, y]]] - } - - | - package fixture - - empty = {set()} - - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - - r[x] { - data.fixture.s[x] - } - - a = [1, 2] - - o = {"foo": "bar"} - - foo = {"bar": 1} - - p1[[1, 2]] - - p1[[1, 3]] - - p1[[2, 2]] - note: compositereferences/complete doc unify - query: data.test.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - 2 - - - 1 - - 3 - - - 2 - - 7 - - - - 1 - - 1 - - 4 + - data: {} + modules: + - | + package test + + p = __local0__ { + true + __local0__ = [[x, y] | data.fixture.s[[x, y]]] + } + - | + package fixture + + empty = {set()} + + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + + r[x] { + data.fixture.s[x] + } + + a = [1, 2] + + o = {"foo": "bar"} + + foo = {"bar": 1} + + p1[[1, 2]] + + p1[[1, 3]] + + p1[[2, 2]] + note: compositereferences/complete doc unify + query: data.test.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - 2 + - - 1 + - 3 + - - 2 + - 7 + - - - 1 + - 1 + - 4 diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0750.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0750.yaml index 1a926b5b1a..e66e7a16ce 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0750.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0750.yaml @@ -1,46 +1,47 @@ +--- cases: -- data: {} - modules: - - | - package fixture - - empty = {set()} - - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - - r[x] { - data.fixture.s[x] - } - - a = [1, 2] - - o = {"foo": "bar"} - - foo = {"bar": 1} - - p1[[1, 2]] - - p1[[1, 3]] - - p1[[2, 2]] - - | - package test - - p = __local0__ { - true - __local0__ = [[x, y] | data.fixture.r[[x, y]]] - } - note: compositereferences/partial doc unify - query: data.test.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - 2 - - - 1 - - 3 - - - 2 - - 7 - - - - 1 - - 1 - - 4 + - data: {} + modules: + - | + package fixture + + empty = {set()} + + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + + r[x] { + data.fixture.s[x] + } + + a = [1, 2] + + o = {"foo": "bar"} + + foo = {"bar": 1} + + p1[[1, 2]] + + p1[[1, 3]] + + p1[[2, 2]] + - | + package test + + p = __local0__ { + true + __local0__ = [[x, y] | data.fixture.r[[x, y]]] + } + note: compositereferences/partial doc unify + query: data.test.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - 2 + - - 1 + - 3 + - - 2 + - 7 + - - - 1 + - 1 + - 4 diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0751.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0751.yaml index 19d435cd48..6281f11be8 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0751.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0751.yaml @@ -1,35 +1,36 @@ +--- cases: -- data: {} - modules: - - | - package fixture + - data: {} + modules: + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - - | - package test + p1[[2, 2]] + - | + package test - p { - data.fixture.empty[set()] - } - note: compositereferences/empty set - query: data.test.p = x - want_result: - - x: true + p { + data.fixture.empty[set()] + } + note: compositereferences/empty set + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0752.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0752.yaml index 59a507eb84..2124b6b999 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0752.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0752.yaml @@ -1,39 +1,40 @@ +--- cases: -- data: {} - modules: - - | - package test + - data: {} + modules: + - | + package test - p = __local0__ { - true - __local1__ = data.fixture.foo.bar - __local0__ = data.fixture.r[[__local1__, 3]] - } - - | - package fixture + p = __local0__ { + true + __local1__ = data.fixture.foo.bar + __local0__ = data.fixture.r[[__local1__, 3]] + } + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - note: compositereferences/ref - query: data.test.p = x - want_result: - - x: - - 1 - - 3 + p1[[2, 2]] + note: compositereferences/ref + query: data.test.p = x + want_result: + - x: + - 1 + - 3 diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0753.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0753.yaml index 754532cd5a..0a3dce7b2e 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0753.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0753.yaml @@ -1,40 +1,41 @@ +--- cases: -- data: {} - modules: - - | - package fixture + - data: {} + modules: + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - - | - package test + p1[[2, 2]] + - | + package test - p = __local0__ { - true - __local1__ = data.fixture.o.foo - __local2__ = data.fixture.foo[__local1__] - __local0__ = data.fixture.r[[__local2__, 3]] - } - note: compositereferences/nested ref - query: data.test.p = x - want_result: - - x: - - 1 - - 3 + p = __local0__ { + true + __local1__ = data.fixture.o.foo + __local2__ = data.fixture.foo[__local1__] + __local0__ = data.fixture.r[[__local2__, 3]] + } + note: compositereferences/nested ref + query: data.test.p = x + want_result: + - x: + - 1 + - 3 diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0754.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0754.yaml index 68918e60d5..8f3d3d4b7a 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0754.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0754.yaml @@ -1,40 +1,41 @@ +--- cases: -- data: {} - modules: - - | - package fixture + - data: {} + modules: + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - - | - package test + p1[[2, 2]] + - | + package test - p = __local0__ { - true - __local1__ = [x | y = [1, 1]; x = y[_]] - __local0__ = data.fixture.s[[__local1__, 4]] - } - note: compositereferences/comprehension - query: data.test.p = x - want_result: - - x: - - - 1 - - 1 - - 4 + p = __local0__ { + true + __local1__ = [x | y = [1, 1]; x = y[_]] + __local0__ = data.fixture.s[[__local1__, 4]] + } + note: compositereferences/comprehension + query: data.test.p = x + want_result: + - x: + - - 1 + - 1 + - 4 diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0755.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0755.yaml index 04a9623db0..16055cf9be 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0755.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0755.yaml @@ -1,35 +1,36 @@ +--- cases: -- data: {} - modules: - - | - package fixture + - data: {} + modules: + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - - | - package test + p1[[2, 2]] + - | + package test - p = __local0__ { - true - __local0__ = data.fixture.r[[1, 4]] - } - note: compositereferences/missing array - query: data.test.p = x - want_result: [] + p = __local0__ { + true + __local0__ = data.fixture.r[[1, 4]] + } + note: compositereferences/missing array + query: data.test.p = x + want_result: [] diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0756.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0756.yaml index 8a4c41634b..c9013813ee 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0756.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0756.yaml @@ -1,35 +1,36 @@ +--- cases: -- data: {} - modules: - - | - package fixture + - data: {} + modules: + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - - | - package test + p1[[2, 2]] + - | + package test - p = __local0__ { - true - __local0__ = data.fixture.r[{"foo": "baz"}] - } - note: compositereferences/missing object value - query: data.test.p = x - want_result: [] + p = __local0__ { + true + __local0__ = data.fixture.r[{"foo": "baz"}] + } + note: compositereferences/missing object value + query: data.test.p = x + want_result: [] diff --git a/test/cases/testdata/compositereferences/test-compositereferences-0757.yaml b/test/cases/testdata/compositereferences/test-compositereferences-0757.yaml index 7f97ede9f9..d4ec3ea199 100644 --- a/test/cases/testdata/compositereferences/test-compositereferences-0757.yaml +++ b/test/cases/testdata/compositereferences/test-compositereferences-0757.yaml @@ -1,35 +1,36 @@ +--- cases: -- data: {} - modules: - - | - package fixture + - data: {} + modules: + - | + package fixture - empty = {set()} + empty = {set()} - s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} + s = {[1, 2], [1, 3], {"foo": "bar"}, {1, 2}, [2, 7], [[1, 1], 4]} - r[x] { - data.fixture.s[x] - } + r[x] { + data.fixture.s[x] + } - a = [1, 2] + a = [1, 2] - o = {"foo": "bar"} + o = {"foo": "bar"} - foo = {"bar": 1} + foo = {"bar": 1} - p1[[1, 2]] + p1[[1, 2]] - p1[[1, 3]] + p1[[1, 3]] - p1[[2, 2]] - - | - package test + p1[[2, 2]] + - | + package test - p = __local0__ { - true - __local0__ = data.fixture.r[{1, 3}] - } - note: compositereferences/missing set - query: data.test.p = x - want_result: [] + p = __local0__ { + true + __local0__ = data.fixture.r[{1, 3}] + } + note: compositereferences/missing set + query: data.test.p = x + want_result: [] diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0781.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0781.yaml index f6b26e2195..600623841e 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0781.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0781.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[i] { - xs = [x | x = data.a[_]] - __local0__ = xs[i] - __local0__ > 1 - } - note: comprehensions/array simple - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 + p[i] { + xs = [x | x = data.a[_]] + __local0__ = xs[i] + __local0__ > 1 + } + note: comprehensions/array simple + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0782.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0782.yaml index 27fd5f5f77..27f217bcb3 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0782.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0782.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[i] { - ys = [y | x = [z | z = data.a[_]]; y = x[_]] - __local0__ = ys[i] - __local0__ > 1 - } - note: comprehensions/array nested - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 + p[i] { + ys = [y | x = [z | z = data.a[_]]; y = x[_]] + __local0__ = ys[i] + __local0__ > 1 + } + note: comprehensions/array nested + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0783.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0783.yaml index 3cfbf134dd..d020e4f4b2 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0783.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0783.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[i] { - __local0__ = [x | x = data.a[_]] - xs = [__local0__] - __local1__ = xs[0][i] - __local1__ > 1 - } - note: comprehensions/array embedded array - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 + p[i] { + __local0__ = [x | x = data.a[_]] + xs = [__local0__] + __local1__ = xs[0][i] + __local1__ > 1 + } + note: comprehensions/array embedded array + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0784.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0784.yaml index 61f086f055..3b115acf48 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0784.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0784.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[i] { - __local0__ = [x | x = data.a[_]] - xs = {"a": __local0__} - __local1__ = xs.a[i] - __local1__ > 1 - } - note: comprehensions/array embedded object - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 + p[i] { + __local0__ = [x | x = data.a[_]] + xs = {"a": __local0__} + __local1__ = xs.a[i] + __local1__ > 1 + } + note: comprehensions/array embedded object + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0785.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0785.yaml index 084ed20f25..c4e6bdb385 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0785.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0785.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = xs { - __local0__ = [x | x = data.a[_]] - xs = {__local0__} - } - note: comprehensions/array embedded set - query: data.generated.p = x - want_result: - - x: - - - 1 - - 2 - - 3 - - 4 + p = xs { + __local0__ = [x | x = data.a[_]] + xs = {__local0__} + } + note: comprehensions/array embedded set + query: data.generated.p = x + want_result: + - x: + - - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0786.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0786.yaml index a322553344..0176bbf05d 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0786.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0786.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - y = 1 - x = [y | y = 1] - } - note: comprehensions/array closure - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 + p[x] { + y = 1 + x = [y | y = 1] + } + note: comprehensions/array closure + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0787.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0787.yaml index 1045703215..5d27ec64ea 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0787.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0787.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - data.generated.q.a[2][i] = x - } + p[x] { + data.generated.q.a[2][i] = x + } - q[k] = v { - k = "a" - v = [y | i = [z | z = data.a[_]]; i[_] = _; i = y] - } - note: comprehensions/array dereference embedded - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + q[k] = v { + k = "a" + v = [y | i = [z | z = data.a[_]]; i[_] = _; i = y] + } + note: comprehensions/array dereference embedded + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0788.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0788.yaml index 8f03141639..8b16358670 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0788.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0788.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[i] { - xs = {s: x | x = data.a[_]; format_int(x, 10, s)} - y = xs[i] - y > 1 - } - note: comprehensions/object simple - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - '2' - - '3' - - '4' + p[i] { + xs = {s: x | x = data.a[_]; format_int(x, 10, s)} + y = xs[i] + y > 1 + } + note: comprehensions/object simple + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - "2" + - "3" + - "4" diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0789.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0789.yaml index d6b39a15ff..fb41096202 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0789.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0789.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - xs = {k: 1 | data.a[_] = k} - xs[x] - } - note: comprehensions/object non-string key - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + p[x] { + xs = {k: 1 | data.a[_] = k} + xs[x] + } + note: comprehensions/object non-string key + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0790.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0790.yaml index c0f4b3c80b..2bfbe7e241 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0790.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0790.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p = r { - r = {x: y | z = {i: q | i = data.b[q]}; x = z[y]} - } - note: comprehensions/object nested - query: data.generated.p = x - want_result: - - x: - v1: hello - v2: goodbye + p = r { + r = {x: y | z = {i: q | i = data.b[q]}; x = z[y]} + } + note: comprehensions/object nested + query: data.generated.p = x + want_result: + - x: + v1: hello + v2: goodbye diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0791.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0791.yaml index 6585542c1c..473db42746 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0791.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0791.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[i] { - __local0__ = {s: x | x = data.a[_]; format_int(x, 10, s)} - xs = [__local0__] - __local1__ = xs[0][i] - __local1__ > 1 - } - note: comprehensions/object embedded array - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - '2' - - '3' - - '4' + p[i] { + __local0__ = {s: x | x = data.a[_]; format_int(x, 10, s)} + xs = [__local0__] + __local1__ = xs[0][i] + __local1__ > 1 + } + note: comprehensions/object embedded array + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - "2" + - "3" + - "4" diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0792.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0792.yaml index 8e5d47a8fa..d0977cc4b0 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0792.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0792.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[i] { - __local0__ = {s: x | x = data.a[_]; format_int(x, 10, s)} - xs = {"a": __local0__} - __local1__ = xs.a[i] - __local1__ > 1 - } - note: comprehensions/object embedded object - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - '2' - - '3' - - '4' + p[i] { + __local0__ = {s: x | x = data.a[_]; format_int(x, 10, s)} + xs = {"a": __local0__} + __local1__ = xs.a[i] + __local1__ > 1 + } + note: comprehensions/object embedded object + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - "2" + - "3" + - "4" diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0793.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0793.yaml index 6e2e9dc726..a31bcb1515 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0793.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0793.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = xs { - __local0__ = {s: x | x = data.a[_]; format_int(x, 10, s)} - xs = {__local0__} - } - note: comprehensions/object embedded set - query: data.generated.p = x - want_result: - - x: - - '1': 1 - '2': 2 - '3': 3 - '4': 4 + p = xs { + __local0__ = {s: x | x = data.a[_]; format_int(x, 10, s)} + xs = {__local0__} + } + note: comprehensions/object embedded set + query: data.generated.p = x + want_result: + - x: + - "1": 1 + "2": 2 + "3": 3 + "4": 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0794.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0794.yaml index b1811daa89..f1c1699678 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0794.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0794.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - y = 1 - x = {"foo": y | y = 1} - } - note: comprehensions/object closure - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - foo: 1 + p[x] { + y = 1 + x = {"foo": y | y = 1} + } + note: comprehensions/object closure + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - foo: 1 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0795.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0795.yaml index 9fe951e284..5fbfdaa201 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0795.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0795.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - arr = [4] + arr = [4] - p[x] { - data.generated.q.a = x - } + p[x] { + data.generated.q.a = x + } - q[k] = v { - k = "a" - v = {"bar": y | i = {"foo": z | z = data.generated.arr[_]}; i[_] = _; i = y} - } - note: comprehensions/object dereference embedded - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - bar: - foo: 4 + q[k] = v { + k = "a" + v = {"bar": y | i = {"foo": z | z = data.generated.arr[_]}; i[_] = _; i = y} + } + note: comprehensions/object dereference embedded + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - bar: + foo: 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0796.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0796.yaml index 165b0be203..ba32f1bf4d 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0796.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0796.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - data.generated.q.a = x - } + p[x] { + data.generated.q.a = x + } - q[k] = v { - k = "a" - v = {"bar": y | i = {"foo": z | z = data.a[_]}; i[_] = _; i = y} - } - note: comprehensions/object conflict - query: data.generated.p = x - want_error: object keys must be unique - want_error_code: eval_conflict_error + q[k] = v { + k = "a" + v = {"bar": y | i = {"foo": z | z = data.a[_]}; i[_] = _; i = y} + } + note: comprehensions/object conflict + query: data.generated.p = x + want_error: object keys must be unique + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0797.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0797.yaml index e9f6fc9651..04dcb9ff90 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0797.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0797.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = y { - y = {x | x = data.a[_]; x > 1} - } - note: comprehensions/set simple - query: data.generated.p = x - want_result: - - x: - - 2 - - 3 - - 4 + p = y { + y = {x | x = data.a[_]; x > 1} + } + note: comprehensions/set simple + query: data.generated.p = x + want_result: + - x: + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0798.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0798.yaml index 881e4c3fbc..1acabd6e02 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0798.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0798.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[i] { - ys = {y | x = {z | z = data.a[_]}; y = x[_]} - __local0__ = ys[i] - __local0__ > 1 - } - note: comprehensions/set nested - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 - - 4 + p[i] { + ys = {y | x = {z | z = data.a[_]}; y = x[_]} + __local0__ = ys[i] + __local0__ > 1 + } + note: comprehensions/set nested + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0799.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0799.yaml index 5ad6dc1ff5..c67b455ae1 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0799.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0799.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[i] { - __local0__ = {x | x = data.a[_]} - xs = [__local0__] - __local1__ = xs[0][i] - __local1__ > 1 - } - note: comprehensions/set embedded array - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 - - 4 + p[i] { + __local0__ = {x | x = data.a[_]} + xs = [__local0__] + __local1__ = xs[0][i] + __local1__ > 1 + } + note: comprehensions/set embedded array + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0800.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0800.yaml index fbbc61c735..bd0e76e789 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0800.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0800.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[i] { - __local0__ = {x | x = data.a[_]} - xs = {"a": __local0__} - __local1__ = xs.a[i] - __local1__ > 1 - } - note: comprehensions/set embedded object - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 - - 4 + p[i] { + __local0__ = {x | x = data.a[_]} + xs = {"a": __local0__} + __local1__ = xs.a[i] + __local1__ > 1 + } + note: comprehensions/set embedded object + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0801.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0801.yaml index cfc6183067..09051dba7e 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0801.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0801.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = xs { - __local0__ = {x | x = data.a[_]} - xs = {__local0__} - } - note: comprehensions/set embedded set - query: data.generated.p = x - want_result: - - x: - - - 1 - - 2 - - 3 - - 4 + p = xs { + __local0__ = {x | x = data.a[_]} + xs = {__local0__} + } + note: comprehensions/set embedded set + query: data.generated.p = x + want_result: + - x: + - - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0802.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0802.yaml index 16211d7e35..54c371af7f 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0802.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0802.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - y = 1 - x = {y | y = 1} - } - note: comprehensions/set closure - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 + p[x] { + y = 1 + x = {y | y = 1} + } + note: comprehensions/set closure + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-0803.yaml b/test/cases/testdata/comprehensions/test-comprehensions-0803.yaml index b84f6e6621..587176bfc9 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-0803.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-0803.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated - - p[x] { - data.generated.q.a = x - } - - q[k] = v { - k = "a" - v = {y | i = {z | z = data.a[_]}; i[_] = _; i = y} - } - note: comprehensions/set dereference embedded - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - - 1 + - data: + a: + - 1 - 2 - 3 - 4 + modules: + - | + package generated + + p[x] { + data.generated.q.a = x + } + + q[k] = v { + k = "a" + v = {y | i = {z | z = data.a[_]}; i[_] = _; i = y} + } + note: comprehensions/set dereference embedded + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/comprehensions/test-comprehensions-and-vars.yaml b/test/cases/testdata/comprehensions/test-comprehensions-and-vars.yaml index 477a5fe202..03b74b319b 100644 --- a/test/cases/testdata/comprehensions/test-comprehensions-and-vars.yaml +++ b/test/cases/testdata/comprehensions/test-comprehensions-and-vars.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package test - xs := {"a", "b", "c"} - p = x { - y := { x | xs[x] } - z := { x | xs[x] } - count(y) == count(z) - x := count(y) - } - note: comprehensions/var bindings have no effect outside - query: data.test.p = x - want_result: - - x: 3 \ No newline at end of file + - data: + modules: + - | + package test + xs := {"a", "b", "c"} + p = x { + y := { x | xs[x] } + z := { x | xs[x] } + count(y) == count(z) + x := count(y) + } + note: comprehensions/var bindings have no effect outside + query: data.test.p = x + want_result: + - x: 3 diff --git a/test/cases/testdata/containskeyword/test-contains-future-keyword.yaml b/test/cases/testdata/containskeyword/test-contains-future-keyword.yaml index 9c54f6e72c..2262277963 100644 --- a/test/cases/testdata/containskeyword/test-contains-future-keyword.yaml +++ b/test/cases/testdata/containskeyword/test-contains-future-keyword.yaml @@ -1,67 +1,68 @@ +--- cases: -- data: - modules: - - | - package test - p { - contains("fireplace", "repl") - } - note: containskeyword/base case - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - import future.keywords.contains + - data: + modules: + - | + package test + p { + contains("fireplace", "repl") + } + note: containskeyword/base case + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + import future.keywords.contains - p { - contains("fireplace", "repl") - } - note: containskeyword/with unused kw import - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - import future.keywords.contains + p { + contains("fireplace", "repl") + } + note: containskeyword/with unused kw import + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + import future.keywords.contains - p contains "x" { - contains("fireplace", "repl") - } - note: containskeyword/with kw and builtin used - query: data.test.p = x - want_result: - - x: [x] -- data: - modules: - - | - package test - import future.keywords.contains + p contains "x" { + contains("fireplace", "repl") + } + note: containskeyword/with kw and builtin used + query: data.test.p = x + want_result: + - x: [x] + - data: + modules: + - | + package test + import future.keywords.contains - p contains "x" - note: containskeyword/empty body - query: data.test.p = x - want_result: - - x: [x] -- data: - modules: - - | - package test - import future.keywords.contains + p contains "x" + note: containskeyword/empty body + query: data.test.p = x + want_result: + - x: [x] + - data: + modules: + - | + package test + import future.keywords.contains - p contains msg { - msg := "nono" - } - p contains msg { - msg := "nonono" - } - note: containskeyword/ordinary deny rule - query: data.test.p = x - want_result: - - x: - - nono - - nonono + p contains msg { + msg := "nono" + } + p contains msg { + msg := "nonono" + } + note: containskeyword/ordinary deny rule + query: data.test.p = x + want_result: + - x: + - nono + - nonono diff --git a/test/cases/testdata/cryptohmacequal/test-cryptohmacequal.yaml b/test/cases/testdata/cryptohmacequal/test-cryptohmacequal.yaml index 0bb37b016f..48790ec984 100644 --- a/test/cases/testdata/cryptohmacequal/test-cryptohmacequal.yaml +++ b/test/cases/testdata/cryptohmacequal/test-cryptohmacequal.yaml @@ -1,66 +1,84 @@ +--- cases: - note: cryptohmacequal/crypto.hmac.equal_md5 query: data.test.p = x modules: - - | - package test - - p[res] { - res := crypto.hmac.equal(input.mac1, input.mac2) + - | + package test + + p[res] { + res := crypto.hmac.equal(input.mac1, input.mac2) + } + input: + { + "mac1": "31b6db9e5eb4addb42f1a6ca07367adc", + "mac2": "31b6db9e5eb4addb42f1a6ca07367adc", } - input: {"mac1": "31b6db9e5eb4addb42f1a6ca07367adc", "mac2": "31b6db9e5eb4addb42f1a6ca07367adc"} want_result: - - x: - - true + - x: + - true - note: cryptohmacequal/crypto.hmac.equal_sha1 query: data.test.p = x modules: - - | - package test - - p[res] { - res := crypto.hmac.equal(input.mac1, input.mac2) + - | + package test + + p[res] { + res := crypto.hmac.equal(input.mac1, input.mac2) + } + input: + { + "mac1": "85d155c55ed286a300bd1cf124de08d87e914f3a", + "mac2": "85d155c55ed286a300bd1cf124de08d87e914f3a", } - input: {"mac1": "85d155c55ed286a300bd1cf124de08d87e914f3a", "mac2": "85d155c55ed286a300bd1cf124de08d87e914f3a"} want_result: - - x: - - true + - x: + - true - note: cryptohmacequal/crypto.hmac.equal_sha256 query: data.test.p = x modules: - - | - package test - - p[res] { - res := crypto.hmac.equal(input.mac1, input.mac2) + - | + package test + + p[res] { + res := crypto.hmac.equal(input.mac1, input.mac2) + } + input: + { + "mac1": "147933218aaabc0b8b10a2b3a5c34684c8d94341bcf10a4736dc7270f7741851", + "mac2": "147933218aaabc0b8b10a2b3a5c34684c8d94341bcf10a4736dc7270f7741851", } - input: {"mac1": "147933218aaabc0b8b10a2b3a5c34684c8d94341bcf10a4736dc7270f7741851", "mac2": "147933218aaabc0b8b10a2b3a5c34684c8d94341bcf10a4736dc7270f7741851"} want_result: - - x: - - true + - x: + - true - note: cryptohmacequal/crypto.hmac.equal_sha512 query: data.test.p = x modules: - - | - package test - - p[res] { - res := crypto.hmac.equal(input.mac1, input.mac2) + - | + package test + + p[res] { + res := crypto.hmac.equal(input.mac1, input.mac2) + } + input: + { + "mac1": "24257d7210582a65c731ec55159c8184cc24c02489453e58587f71f44c23a2d61b4b72154a89d17b2d49448a8452ea066f4fc56a2bcead45c088572ffccdb3d8", + "mac2": "24257d7210582a65c731ec55159c8184cc24c02489453e58587f71f44c23a2d61b4b72154a89d17b2d49448a8452ea066f4fc56a2bcead45c088572ffccdb3d8", } - input: {"mac1": "24257d7210582a65c731ec55159c8184cc24c02489453e58587f71f44c23a2d61b4b72154a89d17b2d49448a8452ea066f4fc56a2bcead45c088572ffccdb3d8", "mac2": "24257d7210582a65c731ec55159c8184cc24c02489453e58587f71f44c23a2d61b4b72154a89d17b2d49448a8452ea066f4fc56a2bcead45c088572ffccdb3d8"} want_result: - - x: - - true + - x: + - true - note: cryptohmacequal/crypto.hmac.equal_false query: data.test.p = x modules: - - | - package test - - p[res] { - res := crypto.hmac.equal(input.mac1, input.mac2) - } - input: {"mac1": "31b6db9e5eb4addb42f1a6ca07367adc", "mac2": "31b6db9e5eb4addb"} + - | + package test + + p[res] { + res := crypto.hmac.equal(input.mac1, input.mac2) + } + input: + { "mac1": "31b6db9e5eb4addb42f1a6ca07367adc", "mac2": "31b6db9e5eb4addb" } want_result: - - x: - - false \ No newline at end of file + - x: + - false diff --git a/test/cases/testdata/cryptohmacmd5/test-cryptohmacmd5.yaml b/test/cases/testdata/cryptohmacmd5/test-cryptohmacmd5.yaml index 2823ff1bf2..f26467d040 100644 --- a/test/cases/testdata/cryptohmacmd5/test-cryptohmacmd5.yaml +++ b/test/cases/testdata/cryptohmacmd5/test-cryptohmacmd5.yaml @@ -1,14 +1,15 @@ +--- cases: - note: cryptohmacmd5/crypto.hmac.md5 query: data.test.p = x modules: - | package test - + p[mac] { mac := crypto.hmac.md5(input.message, input.key) } - input: {"message": "foo", "key": "bar"} + input: { "message": "foo", "key": "bar" } want_result: - x: - 31b6db9e5eb4addb42f1a6ca07367adc @@ -17,12 +18,12 @@ cases: modules: - | package test - + p[mac] { mac := crypto.hmac.md5(input.message, input.key) } - input: {"message": "åäöçß🥲♙Ω", "key": "秘密の"} + input: { "message": "åäöçß🥲♙Ω", "key": "秘密の" } want_result: - x: - 20a8743c2157ac60b7e8b79c83651b8d - strict_error: true \ No newline at end of file + strict_error: true diff --git a/test/cases/testdata/cryptohmacsha1/test-cryptohmacsha1.yaml b/test/cases/testdata/cryptohmacsha1/test-cryptohmacsha1.yaml index dc0ae1d1f7..e30417e365 100644 --- a/test/cases/testdata/cryptohmacsha1/test-cryptohmacsha1.yaml +++ b/test/cases/testdata/cryptohmacsha1/test-cryptohmacsha1.yaml @@ -1,14 +1,15 @@ +--- cases: - note: cryptohmacsha1/crypto.hmac.sha1 query: data.test.p = x modules: - | package test - + p[mac] { mac := crypto.hmac.sha1(input.message, input.key) } - input: {"message": "foo", "key": "bar"} + input: { "message": "foo", "key": "bar" } want_result: - x: - 85d155c55ed286a300bd1cf124de08d87e914f3a @@ -17,11 +18,11 @@ cases: modules: - | package test - + p[mac] { mac := crypto.hmac.sha1(input.message, input.key) } - input: {"message": "åäöçß🥲♙Ω", "key": "秘密の"} + input: { "message": "åäöçß🥲♙Ω", "key": "秘密の" } want_result: - x: - 81759c39013935fcf0de833d44c8018d7c1455dd diff --git a/test/cases/testdata/cryptohmacsha256/test-cryptohmacsha256.yaml b/test/cases/testdata/cryptohmacsha256/test-cryptohmacsha256.yaml index 5e55ac2f54..bf5b242838 100644 --- a/test/cases/testdata/cryptohmacsha256/test-cryptohmacsha256.yaml +++ b/test/cases/testdata/cryptohmacsha256/test-cryptohmacsha256.yaml @@ -1,28 +1,29 @@ +--- cases: - note: cryptohmacsha256/crypto.hmac.sha256 query: data.test.p = x modules: - - | - package test - - p[mac] { - mac := crypto.hmac.sha256(input.message, input.key) - } - input: {"message": "foo", "key": "bar"} + - | + package test + + p[mac] { + mac := crypto.hmac.sha256(input.message, input.key) + } + input: { "message": "foo", "key": "bar" } want_result: - - x: - - 147933218aaabc0b8b10a2b3a5c34684c8d94341bcf10a4736dc7270f7741851 + - x: + - 147933218aaabc0b8b10a2b3a5c34684c8d94341bcf10a4736dc7270f7741851 - note: cryptohmacsha256/crypto.hmac.sha256_unicode query: data.test.p = x modules: - | package test - + p[mac] { mac := crypto.hmac.sha256(input.message, input.key) } - input: {"message": "åäöçß🥲♙Ω", "key": "秘密の"} + input: { "message": "åäöçß🥲♙Ω", "key": "秘密の" } want_result: - x: - eb90daeb76d4b2571fbdaf94bbb240809faa8fed93ec0c260dd38c3fdf8d963a - strict_error: true \ No newline at end of file + strict_error: true diff --git a/test/cases/testdata/cryptohmacsha512/test-cryptohmacsha512.yaml b/test/cases/testdata/cryptohmacsha512/test-cryptohmacsha512.yaml index db5915fa90..22788ff58b 100644 --- a/test/cases/testdata/cryptohmacsha512/test-cryptohmacsha512.yaml +++ b/test/cases/testdata/cryptohmacsha512/test-cryptohmacsha512.yaml @@ -1,14 +1,15 @@ +--- cases: - note: cryptohmacsha512/crypto.hmac.sha512 query: data.test.p = x modules: - | package test - + p[mac] { mac := crypto.hmac.sha512(input.message, input.key) } - input: {"message": "foo", "key": "bar"} + input: { "message": "foo", "key": "bar" } want_result: - x: - 24257d7210582a65c731ec55159c8184cc24c02489453e58587f71f44c23a2d61b4b72154a89d17b2d49448a8452ea066f4fc56a2bcead45c088572ffccdb3d8 @@ -17,12 +18,12 @@ cases: modules: - | package test - + p[mac] { mac := crypto.hmac.sha512(input.message, input.key) } - input: {"message": "åäöçß🥲♙Ω", "key": "秘密の"} + input: { "message": "åäöçß🥲♙Ω", "key": "秘密の" } want_result: - x: - 192f5afded233d6e21427aa26ed267ac118cfa2971013d91cbed530c0b208d78138b83dfe1d6cc3553d7bd518f22a481402c723028e1279d1ffbe8f11ea6b125 - strict_error: true \ No newline at end of file + strict_error: true diff --git a/test/cases/testdata/cryptomd5/test-cryptomd5-0130.yaml b/test/cases/testdata/cryptomd5/test-cryptomd5-0130.yaml index 975265f215..b78ff0dbba 100644 --- a/test/cases/testdata/cryptomd5/test-cryptomd5-0130.yaml +++ b/test/cases/testdata/cryptomd5/test-cryptomd5-0130.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p[__local0__] { - crypto.md5("lorem ipsum", __local1__) - __local0__ = __local1__ - } - note: cryptomd5/crypto.md5 with string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 80a751fde577028640c419000e33eba6 + p[__local0__] { + crypto.md5("lorem ipsum", __local1__) + __local0__ = __local1__ + } + note: cryptomd5/crypto.md5 with string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 80a751fde577028640c419000e33eba6 diff --git a/test/cases/testdata/cryptoparsersaprivatekeys/test-cryptoparsersaprivatekey-1.yaml b/test/cases/testdata/cryptoparsersaprivatekeys/test-cryptoparsersaprivatekey-1.yaml index 1ceb5f580f..be6570115c 100644 --- a/test/cases/testdata/cryptoparsersaprivatekeys/test-cryptoparsersaprivatekey-1.yaml +++ b/test/cases/testdata/cryptoparsersaprivatekeys/test-cryptoparsersaprivatekey-1.yaml @@ -1,11 +1,12 @@ +--- cases: - data: modules: - | package testing - + pem := "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEA9D/bK4171aiTNUkrUCHKGMLSQooV+o3wdz2889h9iv0HhhBJ\nCAGU54K3duB8ofHpmYL50QodcR4RLw1vSkaI+FPdPDMyKxKj/YcmofJjz4kW+Iqw\nFbBcbMnKnEVzye+CyW9YYOTu0xWtcgen80zGp2opG0GZX86hBjjXJnjOdrJTk6x2\nNAiJIbjsQevysmj+2MyqVm8widxw0x+rGhTaCD+ZXWitN0a0WO1aaA8c/7i99I9z\nhe2peKvXzEtMaqYO9ptHcYmq2z0QWvZuJVMv5Yn0mScLWyh91R099IOtn6sNaMMs\nOyTpi7E/2IlVgI2uKGPEopKkMFV8Fl2YaAbo7wIDAQABAoIBAAyMZ08ygqU0dvOq\n4a3JPp/NCo5el8h6mFsX8eg5PCHy4/sQRSBDLIpEXfaei+iqDA1V/E2wDlksaUeY\nkhony4uui1Q3cSFjYMd6tRJm6JfV/DcisO88U1NHfsBOlSdPxdFhhhHcUSTJHVMZ\nb5iBXkdlnd0HnsCcVguCyhLw6/KPFyiA+NYRz68flxze7admyVp5C6i/HbMPq8Pr\nMilBUvOFtxuaGeJBAiavuzUe9I70dRwpe424tMvisSA8h7Xbm8BeN/PJHDV/2JrI\nURgQ563yQ5So/Qg8AgxXRkpgWM9zAh7r31PBO86vq/B4ZbON/TtWdcZVsAcVB4Pk\ntqc8JNkCgYEA+g8V+y92SETdcwUkbd5O9Fg5CkfdsALsBXVH6FunrCUV5HS9l5o6\nMMBbJ/08odW/bP5BmOa4A/Hbk9uG/UfQn2KQ3HCgPlxUEwQO07R1/FcQOe4xmyG6\nJpDgQ30viE1RtlCkceQWUeitCIqZsYu0i8sLZLWJH+V/07OB4G17ELMCgYEA+g1v\nhrlAFNhZvrIX/zcP3xF2pZ+AqkFXdL/tWQZkWAVToONn/LlXTH71C/TO2x+OaQRm\nqX1bA9Zhyjf1gYQN9RenjUswvggk0aY2Tk28wUqowMGSsjQHmZ20EphHNMWNJpdS\nfKFfrQIFKCnLlpQVNz+j3bLWZUnq+jPaYnJP7NUCgYEA48qcVo7c7Ga3aNEVZ3St\nbg90HrZq760pvqshDz13V+0MrWnfUFxxh/mi0KHy+uYRlMNllFkQ5p8LTP0dUlt6\nY8dReU6r20MWX6BBtX9eP7o8ENm4nL4zqnAtq609gKgWuMNrmkiSQJl6Dx7bdY5z\nsSkNPvfUa5cQRBTxSjXRdtsCgYBHrzpdwRXh4/Q2ew/uFnbyWCtPZ96W8IyF58+/\nSdnSchR7dzYEeY3RXEQb3V6/6tgEu0JDLLC+9OKr+kbjjlwB+3oJQ5kBoYwMnj3L\nTPXj4+dk+xl3BPt4yoEpI4amVkwU2CTJnemzy3R3AyReUq2SXSg5El/sQbifaeYd\neu/20QKBgH/5IZHGBKiRAe1ww2FzOpDtL8VXXTe3EAXKutfajrHTqPz9+lXknX/D\nUMosh264nYXYS29WqxhJVutbE9u8e0VpuY1qIN9/3R0WKfTLTMUFlZtbqTepvsy1\nW2UbK732I4Nfp0/mtUvOSdMZO8dxbSdEeMnw/Ec8QgxK9a1rRu9+\n-----END RSA PRIVATE KEY-----" - + p { count(crypto.parse_private_keys(pem)) == 1 } @@ -16,7 +17,7 @@ cases: - data: modules: - | - package testing + package testing pem := "nope" p := crypto.parse_private_keys(pem) note: cryptoparseprivatekey/invalid @@ -26,10 +27,10 @@ cases: - data: modules: - | - package testing + package testing pem := "" p := crypto.parse_private_keys(pem) note: cryptoparseprivatekey/invalid query: data.testing.p = x want_result: - - x: null \ No newline at end of file + - x: null diff --git a/test/cases/testdata/cryptosha1/test-cryptosha1-0131.yaml b/test/cases/testdata/cryptosha1/test-cryptosha1-0131.yaml index 3031455a13..545720aa78 100644 --- a/test/cases/testdata/cryptosha1/test-cryptosha1-0131.yaml +++ b/test/cases/testdata/cryptosha1/test-cryptosha1-0131.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - crypto.sha1("lorem ipsum", __local1__) - __local0__ = __local1__ - } - note: cryptosha1/crypto.sha1 with string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - bfb7759a67daeb65410490b4d98bb9da7d1ea2ce + p[__local0__] { + crypto.sha1("lorem ipsum", __local1__) + __local0__ = __local1__ + } + note: cryptosha1/crypto.sha1 with string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - bfb7759a67daeb65410490b4d98bb9da7d1ea2ce diff --git a/test/cases/testdata/cryptosha256/test-cryptosha256-0132.yaml b/test/cases/testdata/cryptosha256/test-cryptosha256-0132.yaml index cf71b8c7f8..bb16510c24 100644 --- a/test/cases/testdata/cryptosha256/test-cryptosha256-0132.yaml +++ b/test/cases/testdata/cryptosha256/test-cryptosha256-0132.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - crypto.sha256("lorem ipsum", __local1__) - __local0__ = __local1__ - } - note: cryptosha256/crypto.sha256 with string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 5e2bf57d3f40c4b6df69daf1936cb766f832374b4fc0259a7cbff06e2f70f269 + p[__local0__] { + crypto.sha256("lorem ipsum", __local1__) + __local0__ = __local1__ + } + note: cryptosha256/crypto.sha256 with string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 5e2bf57d3f40c4b6df69daf1936cb766f832374b4fc0259a7cbff06e2f70f269 diff --git a/test/cases/testdata/cryptox509parseandverifycertificates/test-cryptox509parseandverifycertificates.yaml b/test/cases/testdata/cryptox509parseandverifycertificates/test-cryptox509parseandverifycertificates.yaml index a01fce8061..c4eb8f45ff 100644 --- a/test/cases/testdata/cryptox509parseandverifycertificates/test-cryptox509parseandverifycertificates.yaml +++ b/test/cases/testdata/cryptox509parseandverifycertificates/test-cryptox509parseandverifycertificates.yaml @@ -1,138 +1,138 @@ +--- cases: -- data: - modules: - - | - package test - - import future.keywords - - certs := `-----BEGIN CERTIFICATE----- - MIIBoDCCAUagAwIBAgIRAJXcMYZALXooNq/VV/grXhMwCgYIKoZIzj0EAwIwLjER - MA8GA1UEChMIT1BBIFRlc3QxGTAXBgNVBAMTEE9QQSBUZXN0IFJvb3QgQ0EwHhcN - MjEwNzAxMTc0MTUzWhcNMzEwNjI5MTc0MTUzWjAuMREwDwYDVQQKEwhPUEEgVGVz - dDEZMBcGA1UEAxMQT1BBIFRlc3QgUm9vdCBDQTBZMBMGByqGSM49AgEGCCqGSM49 - AwEHA0IABFqhdZA5LjsJgzsBvhgzfayZFOk+C7PmGCi7xz6zOC3xWORJZSNOyZeJ - YzSKFmoMZkcFMfslTW1jp9fwe1xl3HWjRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNV - HRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBTch60qxQvLl+AfDfcaXmjvT8GvpzAK - BggqhkjOPQQDAgNIADBFAiBqraIP0l2U0oNuH0+rf36hDks94wSB5EGlGH3lYNMR - ugIhANkbukX5hOP8pJDRWP/pYuv6MBnRY4BS8gpp9Vu31qOb - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MIIByDCCAW6gAwIBAgIQC0k4DPGrh9me73EJX5zntTAKBggqhkjOPQQDAjAuMREw - DwYDVQQKEwhPUEEgVGVzdDEZMBcGA1UEAxMQT1BBIFRlc3QgUm9vdCBDQTAeFw0y - MTA3MDExNzQxNTNaFw0zMTA2MjkxNzQxNTNaMDYxETAPBgNVBAoTCE9QQSBUZXN0 - MSEwHwYDVQQDExhPUEEgVGVzdCBJbnRlcm1lZGlhdGUgQ0EwWTATBgcqhkjOPQIB - BggqhkjOPQMBBwNCAARvXQa7fy476gDI81nqLYb2SnD459WxBmU0hk2bA3ZuNtI+ - H20KXz6ISmxH3MZ2WBm6rOy7y4Gn+WMCJuxzcl5jo2YwZDAOBgNVHQ8BAf8EBAMC - AQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUuslZNjJl0V8I1Gj17IID - ALy/9WEwHwYDVR0jBBgwFoAU3IetKsULy5fgHw33Gl5o70/Br6cwCgYIKoZIzj0E - AwIDSAAwRQIgUwsYApW9Tsm6AstWswaKGie0srB4FUkUbfKwWmUI2JgCIQCBTySN - MF+EiQAMKyz/N9KUuXEckC356WvKcyJaYYcV0w== - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MIIB8zCCAZqgAwIBAgIRAID4gPKg7DDiuOfzUYFSXLAwCgYIKoZIzj0EAwIwNjER - MA8GA1UEChMIT1BBIFRlc3QxITAfBgNVBAMTGE9QQSBUZXN0IEludGVybWVkaWF0 - ZSBDQTAeFw0yMTA3MDUxNzQ5NTBaFw0zNjA3MDExNzQ5NDdaMCUxIzAhBgNVBAMT - Gm5vdGFyZWFsc2l0ZS5vcGEubG9jYWxob3N0MFkwEwYHKoZIzj0CAQYIKoZIzj0D - AQcDQgAE1YSXZXeaGGL+XeYyoPi/QdA39Ds4fgxSHJTMh+js393kByPm2PNtFkem - tUii3KCRJw3SEh3z0JWr/9y4+ua2L6OBmTCBljAOBgNVHQ8BAf8EBAMCB4AwHQYD - VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBRL0P0g17viZHo9 - CnXe3ZQJm48LXTAfBgNVHSMEGDAWgBS6yVk2MmXRXwjUaPXsggMAvL/1YTAlBgNV - HREEHjAcghpub3RhcmVhbHNpdGUub3BhLmxvY2FsaG9zdDAKBggqhkjOPQQDAgNH - ADBEAiAtmZewL94ijN0YwUGaJM9BXCaoTQPwkzugqjCj+K912QIgKKFvbPu4asrE - nwy7dzejHmQUcZ/aUNbc4VTbiv15ESk= - -----END CERTIFICATE----- - ` - - value := crypto.x509.parse_and_verify_certificates(certs) + - data: + modules: + - | + package test - result := { - "valid": value[0], - "certs": [c| - some cert in value[1] - c := { - "CN": cert.Subject.CommonName, - "DNS": cert.DNSNames, - "URI": cert.URIStrings, - } - ], - } + import future.keywords - note: cryptox509parseandverifycertificates/base_case - query: data.test.result = x - want_result: - - x: - certs: - - CN: notarealsite.opa.localhost - DNS: - - notarealsite.opa.localhost - URI: - - CN: OPA Test Intermediate CA - DNS: - URI: - - CN: OPA Test Root CA - DNS: - URI: - valid: true -- data: - modules: - - | - package test - - import future.keywords - - certs := `-----BEGIN CERTIFICATE----- - MIIB1TCCAXugAwIBAgIIKIoxsnMwJJ4wCgYIKoZIzj0EAwIwPTELMAkGA1UEBhMC - R0IxEDAOBgNVBAoTB0V4YW1wbGUxHDAaBgNVBAUTEzI5MjEyMDE5NTA4MDk2NjI2 - MjIwIBcNMjMxMTI5MTc1NTQ2WhgPMjEyMzExMDUxNzU1NDZaMD0xCzAJBgNVBAYT - AkdCMRAwDgYDVQQKEwdFeGFtcGxlMRwwGgYDVQQFExMyOTIxMjAxOTUwODA5NjYy - NjIyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkvI9ddM0SuP9LvBWS1y64fuK - ELCjVF5W3FSKm3azKEkDi8Eq1I1UM80MgCjC5ChNNyM4+cmVUDrCkTl3SqRxa6Nj - MGEwDgYDVR0PAQH/BAQDAgIEMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFF7H - A8n3mXXnwUP0ypMJ9JwY5wasMB8GA1UdEQQYMBaGFHNwaWZmZTovL2V4YW1wbGUu - Y29tMAoGCCqGSM49BAMCA0gAMEUCIByB2l5RIWmaU8qcRv13qigbB9BV/F2raEk+ - pRQnsUcgAiEA9OvBpPKC/FBkI5vVvR7WgK5sGPna4+a0RkXxRQgN2jM= - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MIIB1jCCAXygAwIBAgIIV9914tIKKkMwCgYIKoZIzj0EAwIwPTELMAkGA1UEBhMC - R0IxEDAOBgNVBAoTB0V4YW1wbGUxHDAaBgNVBAUTEzI5MjEyMDE5NTA4MDk2NjI2 - MjIwIBcNMjMxMTI5MTc1NTQ2WhgPMjEyMjExMDUxNzU1NDZaMD0xCzAJBgNVBAYT - AkdCMRAwDgYDVQQKEwdFeGFtcGxlMRwwGgYDVQQFExM2MzMxOTA5MjE4MTUzMTQ2 - OTQ3MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEMoy2UqvC8zL3sPfLNvG1nX5p - 6hhEyDjFtokORB4VkKiPXFryIFn8XHG0ipz6aKSwVMoDT2T/YXP/wWpVwPJCi6Nk - MGIwDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD - ATAMBgNVHRMBAf8EAjAAMCMGA1UdEQQcMBqGGHNwaWZmZTovL2V4YW1wbGUuY29t - L29wYTAKBggqhkjOPQQDAgNIADBFAiBEmdSKGj2+9J5SQPIAmwdxpVTOxqmVQv2x - Vvita/AmowIhAOyX/alNJxL4iCfKUNwlC2lYxGhuWopWgB1Q32bQhTEh - -----END CERTIFICATE----- - ` - - value := crypto.x509.parse_and_verify_certificates(certs) + certs := `-----BEGIN CERTIFICATE----- + MIIBoDCCAUagAwIBAgIRAJXcMYZALXooNq/VV/grXhMwCgYIKoZIzj0EAwIwLjER + MA8GA1UEChMIT1BBIFRlc3QxGTAXBgNVBAMTEE9QQSBUZXN0IFJvb3QgQ0EwHhcN + MjEwNzAxMTc0MTUzWhcNMzEwNjI5MTc0MTUzWjAuMREwDwYDVQQKEwhPUEEgVGVz + dDEZMBcGA1UEAxMQT1BBIFRlc3QgUm9vdCBDQTBZMBMGByqGSM49AgEGCCqGSM49 + AwEHA0IABFqhdZA5LjsJgzsBvhgzfayZFOk+C7PmGCi7xz6zOC3xWORJZSNOyZeJ + YzSKFmoMZkcFMfslTW1jp9fwe1xl3HWjRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNV + HRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBTch60qxQvLl+AfDfcaXmjvT8GvpzAK + BggqhkjOPQQDAgNIADBFAiBqraIP0l2U0oNuH0+rf36hDks94wSB5EGlGH3lYNMR + ugIhANkbukX5hOP8pJDRWP/pYuv6MBnRY4BS8gpp9Vu31qOb + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIByDCCAW6gAwIBAgIQC0k4DPGrh9me73EJX5zntTAKBggqhkjOPQQDAjAuMREw + DwYDVQQKEwhPUEEgVGVzdDEZMBcGA1UEAxMQT1BBIFRlc3QgUm9vdCBDQTAeFw0y + MTA3MDExNzQxNTNaFw0zMTA2MjkxNzQxNTNaMDYxETAPBgNVBAoTCE9QQSBUZXN0 + MSEwHwYDVQQDExhPUEEgVGVzdCBJbnRlcm1lZGlhdGUgQ0EwWTATBgcqhkjOPQIB + BggqhkjOPQMBBwNCAARvXQa7fy476gDI81nqLYb2SnD459WxBmU0hk2bA3ZuNtI+ + H20KXz6ISmxH3MZ2WBm6rOy7y4Gn+WMCJuxzcl5jo2YwZDAOBgNVHQ8BAf8EBAMC + AQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUuslZNjJl0V8I1Gj17IID + ALy/9WEwHwYDVR0jBBgwFoAU3IetKsULy5fgHw33Gl5o70/Br6cwCgYIKoZIzj0E + AwIDSAAwRQIgUwsYApW9Tsm6AstWswaKGie0srB4FUkUbfKwWmUI2JgCIQCBTySN + MF+EiQAMKyz/N9KUuXEckC356WvKcyJaYYcV0w== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB8zCCAZqgAwIBAgIRAID4gPKg7DDiuOfzUYFSXLAwCgYIKoZIzj0EAwIwNjER + MA8GA1UEChMIT1BBIFRlc3QxITAfBgNVBAMTGE9QQSBUZXN0IEludGVybWVkaWF0 + ZSBDQTAeFw0yMTA3MDUxNzQ5NTBaFw0zNjA3MDExNzQ5NDdaMCUxIzAhBgNVBAMT + Gm5vdGFyZWFsc2l0ZS5vcGEubG9jYWxob3N0MFkwEwYHKoZIzj0CAQYIKoZIzj0D + AQcDQgAE1YSXZXeaGGL+XeYyoPi/QdA39Ds4fgxSHJTMh+js393kByPm2PNtFkem + tUii3KCRJw3SEh3z0JWr/9y4+ua2L6OBmTCBljAOBgNVHQ8BAf8EBAMCB4AwHQYD + VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBRL0P0g17viZHo9 + CnXe3ZQJm48LXTAfBgNVHSMEGDAWgBS6yVk2MmXRXwjUaPXsggMAvL/1YTAlBgNV + HREEHjAcghpub3RhcmVhbHNpdGUub3BhLmxvY2FsaG9zdDAKBggqhkjOPQQDAgNH + ADBEAiAtmZewL94ijN0YwUGaJM9BXCaoTQPwkzugqjCj+K912QIgKKFvbPu4asrE + nwy7dzejHmQUcZ/aUNbc4VTbiv15ESk= + -----END CERTIFICATE----- + ` - result := { - "valid": value[0], - "certs": [c| - some cert in value[1] - c := { - "CN": cert.Subject.CommonName, - "DNS": cert.DNSNames, - "URI": cert.URIStrings, - } - ], - } + value := crypto.x509.parse_and_verify_certificates(certs) - note: cryptox509parseandverifycertificates/uri_strings - query: data.test.result = x - want_result: - - x: - certs: - - CN: '' - DNS: null - URI: - - spiffe://example.com/opa - - CN: '' - DNS: null - URI: - - spiffe://example.com - valid: true + result := { + "valid": value[0], + "certs": [c| + some cert in value[1] + c := { + "CN": cert.Subject.CommonName, + "DNS": cert.DNSNames, + "URI": cert.URIStrings, + } + ], + } + note: cryptox509parseandverifycertificates/base_case + query: data.test.result = x + want_result: + - x: + certs: + - CN: notarealsite.opa.localhost + DNS: + - notarealsite.opa.localhost + URI: + - CN: OPA Test Intermediate CA + DNS: + URI: + - CN: OPA Test Root CA + DNS: + URI: + valid: true + - data: + modules: + - | + package test + + import future.keywords + + certs := `-----BEGIN CERTIFICATE----- + MIIB1TCCAXugAwIBAgIIKIoxsnMwJJ4wCgYIKoZIzj0EAwIwPTELMAkGA1UEBhMC + R0IxEDAOBgNVBAoTB0V4YW1wbGUxHDAaBgNVBAUTEzI5MjEyMDE5NTA4MDk2NjI2 + MjIwIBcNMjMxMTI5MTc1NTQ2WhgPMjEyMzExMDUxNzU1NDZaMD0xCzAJBgNVBAYT + AkdCMRAwDgYDVQQKEwdFeGFtcGxlMRwwGgYDVQQFExMyOTIxMjAxOTUwODA5NjYy + NjIyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkvI9ddM0SuP9LvBWS1y64fuK + ELCjVF5W3FSKm3azKEkDi8Eq1I1UM80MgCjC5ChNNyM4+cmVUDrCkTl3SqRxa6Nj + MGEwDgYDVR0PAQH/BAQDAgIEMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFF7H + A8n3mXXnwUP0ypMJ9JwY5wasMB8GA1UdEQQYMBaGFHNwaWZmZTovL2V4YW1wbGUu + Y29tMAoGCCqGSM49BAMCA0gAMEUCIByB2l5RIWmaU8qcRv13qigbB9BV/F2raEk+ + pRQnsUcgAiEA9OvBpPKC/FBkI5vVvR7WgK5sGPna4+a0RkXxRQgN2jM= + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB1jCCAXygAwIBAgIIV9914tIKKkMwCgYIKoZIzj0EAwIwPTELMAkGA1UEBhMC + R0IxEDAOBgNVBAoTB0V4YW1wbGUxHDAaBgNVBAUTEzI5MjEyMDE5NTA4MDk2NjI2 + MjIwIBcNMjMxMTI5MTc1NTQ2WhgPMjEyMjExMDUxNzU1NDZaMD0xCzAJBgNVBAYT + AkdCMRAwDgYDVQQKEwdFeGFtcGxlMRwwGgYDVQQFExM2MzMxOTA5MjE4MTUzMTQ2 + OTQ3MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEMoy2UqvC8zL3sPfLNvG1nX5p + 6hhEyDjFtokORB4VkKiPXFryIFn8XHG0ipz6aKSwVMoDT2T/YXP/wWpVwPJCi6Nk + MGIwDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD + ATAMBgNVHRMBAf8EAjAAMCMGA1UdEQQcMBqGGHNwaWZmZTovL2V4YW1wbGUuY29t + L29wYTAKBggqhkjOPQQDAgNIADBFAiBEmdSKGj2+9J5SQPIAmwdxpVTOxqmVQv2x + Vvita/AmowIhAOyX/alNJxL4iCfKUNwlC2lYxGhuWopWgB1Q32bQhTEh + -----END CERTIFICATE----- + ` + + value := crypto.x509.parse_and_verify_certificates(certs) + + result := { + "valid": value[0], + "certs": [c| + some cert in value[1] + c := { + "CN": cert.Subject.CommonName, + "DNS": cert.DNSNames, + "URI": cert.URIStrings, + } + ], + } + + note: cryptox509parseandverifycertificates/uri_strings + query: data.test.result = x + want_result: + - x: + certs: + - CN: "" + DNS: null + URI: + - spiffe://example.com/opa + - CN: "" + DNS: null + URI: + - spiffe://example.com + valid: true diff --git a/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0125.yaml b/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0125.yaml index f185e168dd..d406841163 100644 --- a/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0125.yaml +++ b/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0125.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - csr = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ21EQ0NBWUFDQVFBd1V6RUxNQWtHQTFVRUJoTUNWVk14RkRBU0JnTlZCQU1NQzJWNFlXMXdiR1V1WTI5dApNUW93Q0FZRFZRUUhEQUVnTVFvd0NBWURWUVFLREFFZ01Rb3dDQVlEVlFRSURBRWdNUW93Q0FZRFZRUUxEQUVnCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBMlpkaG1zaERBVTBYYnhnTk1GQWsKeEdWQnNjaHdWb2s5dXBBU2ZVWDA4VFlqMFZrV0VxNitmemdOdmRQSnd6Nm1lUDlnL01hRmhPYW91Nmh1UEhmbwpTVTlKN1FiTW56Uktsc0VJTzNodEM1QUt3OXYyZldVZGpCQS92Q1dZdXU1aUc1ZTdtUHNXWjd1cGxuVGZSekM4ClJLK0srWXJtNEQ4NHE1bHR5NEMzS2tRc0FjU0xQZk9MMXMvYjJyV21KR0FoV3NSa2doTVk2V3dza3VYWXRINTkKRzl5VURHUUhoalprcHFlZFY0OUM4c0NwMU8vWVpvU0hncDdHK0JiaFRta05CRzY3OFZHREplTnB3SG96dnRjVQpyQVNGRFJ4WnhPdTFHRzE3L1FiVW9SNVVkOTNwaUtaU0U2UHVDU2VCcy9UQmFJc3ZwUGtudVhkOXI4WGovbVd5CmtRSURBUUFCb0FBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBeDJkaCtkMU1CaEwwaDJYZklxaDVEYy9lYWoKU0xadGFNTWlJY1h1cC96UTl2eENXSkZlSGYzczBJdXliMEhkMlZNZ1BSYU8ydWRkY2JZdFFlKzJnWUtrTzFMWApCdHdQcXcwWHAweUF2dDUxRzJvZmVCbCtFa0ptNjk3RlNtemg4eDJJZFFBSkMzWi9ROFdMVmh3NFg2WlVicnhqCjJnTjJmaVhjS0RKbGVkcUgxY2V4WVVvbnlLSDZubG4wbzQzUUtEOFlSZG9hNVFqb3Ixb0JkY3dSTTA0VDM4ak0KV1B3d2JZTjNrVE9Ea0tiaVFVVWxVeFZuNnFnZTlNTWt0c0lOWkc0eDY1QmIwaWxTdHExRWQwN2Y5NmVnbHNKaApZVE9VRnZpZDZVSkVEcEJzcjhyZFROSW1JQkhCdkkra1BHS2FqcW83Z0VNc3hFYkNkemFHUTNZZnNYWT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0t" + csr = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ21EQ0NBWUFDQVFBd1V6RUxNQWtHQTFVRUJoTUNWVk14RkRBU0JnTlZCQU1NQzJWNFlXMXdiR1V1WTI5dApNUW93Q0FZRFZRUUhEQUVnTVFvd0NBWURWUVFLREFFZ01Rb3dDQVlEVlFRSURBRWdNUW93Q0FZRFZRUUxEQUVnCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBMlpkaG1zaERBVTBYYnhnTk1GQWsKeEdWQnNjaHdWb2s5dXBBU2ZVWDA4VFlqMFZrV0VxNitmemdOdmRQSnd6Nm1lUDlnL01hRmhPYW91Nmh1UEhmbwpTVTlKN1FiTW56Uktsc0VJTzNodEM1QUt3OXYyZldVZGpCQS92Q1dZdXU1aUc1ZTdtUHNXWjd1cGxuVGZSekM4ClJLK0srWXJtNEQ4NHE1bHR5NEMzS2tRc0FjU0xQZk9MMXMvYjJyV21KR0FoV3NSa2doTVk2V3dza3VYWXRINTkKRzl5VURHUUhoalprcHFlZFY0OUM4c0NwMU8vWVpvU0hncDdHK0JiaFRta05CRzY3OFZHREplTnB3SG96dnRjVQpyQVNGRFJ4WnhPdTFHRzE3L1FiVW9SNVVkOTNwaUtaU0U2UHVDU2VCcy9UQmFJc3ZwUGtudVhkOXI4WGovbVd5CmtRSURBUUFCb0FBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBeDJkaCtkMU1CaEwwaDJYZklxaDVEYy9lYWoKU0xadGFNTWlJY1h1cC96UTl2eENXSkZlSGYzczBJdXliMEhkMlZNZ1BSYU8ydWRkY2JZdFFlKzJnWUtrTzFMWApCdHdQcXcwWHAweUF2dDUxRzJvZmVCbCtFa0ptNjk3RlNtemg4eDJJZFFBSkMzWi9ROFdMVmh3NFg2WlVicnhqCjJnTjJmaVhjS0RKbGVkcUgxY2V4WVVvbnlLSDZubG4wbzQzUUtEOFlSZG9hNVFqb3Ixb0JkY3dSTTA0VDM4ak0KV1B3d2JZTjNrVE9Ea0tiaVFVVWxVeFZuNnFnZTlNTWt0c0lOWkc0eDY1QmIwaWxTdHExRWQwN2Y5NmVnbHNKaApZVE9VRnZpZDZVSkVEcEJzcjhyZFROSW1JQkhCdkkra1BHS2FqcW83Z0VNc3hFYkNkemFHUTNZZnNYWT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0t" - p = __local1__ { - __local3__ = data.generated.csr - crypto.x509.parse_certificate_request(__local3__, __local2__) - __local0__ = __local2__ - __local1__ = __local0__.Subject.CommonName - } - note: cryptox509parsecertificaterequest/PEM, b64 - query: data.generated.p = x - want_result: - - x: example.com + p = __local1__ { + __local3__ = data.generated.csr + crypto.x509.parse_certificate_request(__local3__, __local2__) + __local0__ = __local2__ + __local1__ = __local0__.Subject.CommonName + } + note: cryptox509parsecertificaterequest/PEM, b64 + query: data.generated.p = x + want_result: + - x: example.com diff --git a/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0126.yaml b/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0126.yaml index f61d53406c..3010198a28 100644 --- a/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0126.yaml +++ b/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0126.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - csr = "-----BEGIN CERTIFICATE REQUEST-----\nMIICmDCCAYACAQAwUzELMAkGA1UEBhMCVVMxFDASBgNVBAMMC2V4YW1wbGUuY29t\nMQowCAYDVQQHDAEgMQowCAYDVQQKDAEgMQowCAYDVQQIDAEgMQowCAYDVQQLDAEg\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2ZdhmshDAU0XbxgNMFAk\nxGVBschwVok9upASfUX08TYj0VkWEq6+fzgNvdPJwz6meP9g/MaFhOaou6huPHfo\nSU9J7QbMnzRKlsEIO3htC5AKw9v2fWUdjBA/vCWYuu5iG5e7mPsWZ7uplnTfRzC8\nRK+K+Yrm4D84q5lty4C3KkQsAcSLPfOL1s/b2rWmJGAhWsRkghMY6WwskuXYtH59\nG9yUDGQHhjZkpqedV49C8sCp1O/YZoSHgp7G+BbhTmkNBG678VGDJeNpwHozvtcU\nrASFDRxZxOu1GG17/QbUoR5Ud93piKZSE6PuCSeBs/TBaIsvpPknuXd9r8Xj/mWy\nkQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAAx2dh+d1MBhL0h2XfIqh5Dc/eaj\nSLZtaMMiIcXup/zQ9vxCWJFeHf3s0Iuyb0Hd2VMgPRaO2uddcbYtQe+2gYKkO1LX\nBtwPqw0Xp0yAvt51G2ofeBl+EkJm697FSmzh8x2IdQAJC3Z/Q8WLVhw4X6ZUbrxj\n2gN2fiXcKDJledqH1cexYUonyKH6nln0o43QKD8YRdoa5Qjor1oBdcwRM04T38jM\nWPwwbYN3kTODkKbiQUUlUxVn6qge9MMktsINZG4x65Bb0ilStq1Ed07f96eglsJh\nYTOUFvid6UJEDpBsr8rdTNImIBHBvI+kPGKajqo7gEMsxEbCdzaGQ3YfsXY=\n-----END CERTIFICATE REQUEST-----" + csr = "-----BEGIN CERTIFICATE REQUEST-----\nMIICmDCCAYACAQAwUzELMAkGA1UEBhMCVVMxFDASBgNVBAMMC2V4YW1wbGUuY29t\nMQowCAYDVQQHDAEgMQowCAYDVQQKDAEgMQowCAYDVQQIDAEgMQowCAYDVQQLDAEg\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2ZdhmshDAU0XbxgNMFAk\nxGVBschwVok9upASfUX08TYj0VkWEq6+fzgNvdPJwz6meP9g/MaFhOaou6huPHfo\nSU9J7QbMnzRKlsEIO3htC5AKw9v2fWUdjBA/vCWYuu5iG5e7mPsWZ7uplnTfRzC8\nRK+K+Yrm4D84q5lty4C3KkQsAcSLPfOL1s/b2rWmJGAhWsRkghMY6WwskuXYtH59\nG9yUDGQHhjZkpqedV49C8sCp1O/YZoSHgp7G+BbhTmkNBG678VGDJeNpwHozvtcU\nrASFDRxZxOu1GG17/QbUoR5Ud93piKZSE6PuCSeBs/TBaIsvpPknuXd9r8Xj/mWy\nkQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAAx2dh+d1MBhL0h2XfIqh5Dc/eaj\nSLZtaMMiIcXup/zQ9vxCWJFeHf3s0Iuyb0Hd2VMgPRaO2uddcbYtQe+2gYKkO1LX\nBtwPqw0Xp0yAvt51G2ofeBl+EkJm697FSmzh8x2IdQAJC3Z/Q8WLVhw4X6ZUbrxj\n2gN2fiXcKDJledqH1cexYUonyKH6nln0o43QKD8YRdoa5Qjor1oBdcwRM04T38jM\nWPwwbYN3kTODkKbiQUUlUxVn6qge9MMktsINZG4x65Bb0ilStq1Ed07f96eglsJh\nYTOUFvid6UJEDpBsr8rdTNImIBHBvI+kPGKajqo7gEMsxEbCdzaGQ3YfsXY=\n-----END CERTIFICATE REQUEST-----" - p = __local1__ { - __local3__ = data.generated.csr - crypto.x509.parse_certificate_request(__local3__, __local2__) - __local0__ = __local2__ - __local1__ = __local0__.Subject.CommonName - } - note: cryptox509parsecertificaterequest/PEM, string - query: data.generated.p = x - want_result: - - x: example.com + p = __local1__ { + __local3__ = data.generated.csr + crypto.x509.parse_certificate_request(__local3__, __local2__) + __local0__ = __local2__ + __local1__ = __local0__.Subject.CommonName + } + note: cryptox509parsecertificaterequest/PEM, string + query: data.generated.p = x + want_result: + - x: example.com diff --git a/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0127.yaml b/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0127.yaml index a7ee00b5d5..996fbe682c 100644 --- a/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0127.yaml +++ b/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0127.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - csr = "MIICmDCCAYACAQAwUzELMAkGA1UEBhMCVVMxFDASBgNVBAMMC2V4YW1wbGUuY29tMQowCAYDVQQHDAEgMQowCAYDVQQKDAEgMQowCAYDVQQIDAEgMQowCAYDVQQLDAEgMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2ZdhmshDAU0XbxgNMFAkxGVBschwVok9upASfUX08TYj0VkWEq6+fzgNvdPJwz6meP9g/MaFhOaou6huPHfoSU9J7QbMnzRKlsEIO3htC5AKw9v2fWUdjBA/vCWYuu5iG5e7mPsWZ7uplnTfRzC8RK+K+Yrm4D84q5lty4C3KkQsAcSLPfOL1s/b2rWmJGAhWsRkghMY6WwskuXYtH59G9yUDGQHhjZkpqedV49C8sCp1O/YZoSHgp7G+BbhTmkNBG678VGDJeNpwHozvtcUrASFDRxZxOu1GG17/QbUoR5Ud93piKZSE6PuCSeBs/TBaIsvpPknuXd9r8Xj/mWykQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAAx2dh+d1MBhL0h2XfIqh5Dc/eajSLZtaMMiIcXup/zQ9vxCWJFeHf3s0Iuyb0Hd2VMgPRaO2uddcbYtQe+2gYKkO1LXBtwPqw0Xp0yAvt51G2ofeBl+EkJm697FSmzh8x2IdQAJC3Z/Q8WLVhw4X6ZUbrxj2gN2fiXcKDJledqH1cexYUonyKH6nln0o43QKD8YRdoa5Qjor1oBdcwRM04T38jMWPwwbYN3kTODkKbiQUUlUxVn6qge9MMktsINZG4x65Bb0ilStq1Ed07f96eglsJhYTOUFvid6UJEDpBsr8rdTNImIBHBvI+kPGKajqo7gEMsxEbCdzaGQ3YfsXY=" + csr = "MIICmDCCAYACAQAwUzELMAkGA1UEBhMCVVMxFDASBgNVBAMMC2V4YW1wbGUuY29tMQowCAYDVQQHDAEgMQowCAYDVQQKDAEgMQowCAYDVQQIDAEgMQowCAYDVQQLDAEgMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2ZdhmshDAU0XbxgNMFAkxGVBschwVok9upASfUX08TYj0VkWEq6+fzgNvdPJwz6meP9g/MaFhOaou6huPHfoSU9J7QbMnzRKlsEIO3htC5AKw9v2fWUdjBA/vCWYuu5iG5e7mPsWZ7uplnTfRzC8RK+K+Yrm4D84q5lty4C3KkQsAcSLPfOL1s/b2rWmJGAhWsRkghMY6WwskuXYtH59G9yUDGQHhjZkpqedV49C8sCp1O/YZoSHgp7G+BbhTmkNBG678VGDJeNpwHozvtcUrASFDRxZxOu1GG17/QbUoR5Ud93piKZSE6PuCSeBs/TBaIsvpPknuXd9r8Xj/mWykQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAAx2dh+d1MBhL0h2XfIqh5Dc/eajSLZtaMMiIcXup/zQ9vxCWJFeHf3s0Iuyb0Hd2VMgPRaO2uddcbYtQe+2gYKkO1LXBtwPqw0Xp0yAvt51G2ofeBl+EkJm697FSmzh8x2IdQAJC3Z/Q8WLVhw4X6ZUbrxj2gN2fiXcKDJledqH1cexYUonyKH6nln0o43QKD8YRdoa5Qjor1oBdcwRM04T38jMWPwwbYN3kTODkKbiQUUlUxVn6qge9MMktsINZG4x65Bb0ilStq1Ed07f96eglsJhYTOUFvid6UJEDpBsr8rdTNImIBHBvI+kPGKajqo7gEMsxEbCdzaGQ3YfsXY=" - p = __local1__ { - __local3__ = data.generated.csr - crypto.x509.parse_certificate_request(__local3__, __local2__) - __local0__ = __local2__ - __local1__ = __local0__.Subject.CommonName - } - note: cryptox509parsecertificaterequest/DER, b64 - query: data.generated.p = x - want_result: - - x: example.com + p = __local1__ { + __local3__ = data.generated.csr + crypto.x509.parse_certificate_request(__local3__, __local2__) + __local0__ = __local2__ + __local1__ = __local0__.Subject.CommonName + } + note: cryptox509parsecertificaterequest/DER, b64 + query: data.generated.p = x + want_result: + - x: example.com diff --git a/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0128.yaml b/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0128.yaml index 91e8ba72cf..9133d10cdb 100644 --- a/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0128.yaml +++ b/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0128.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - csr = "YmFkc3RyaW5n" + csr = "YmFkc3RyaW5n" - p = __local1__ { - __local3__ = data.generated.csr - crypto.x509.parse_certificate_request(__local3__, __local2__) - __local0__ = __local2__ - __local1__ = __local0__.Subject.CommonName - } - note: cryptox509parsecertificaterequest/invalid DER or PEM data, b64 - query: data.generated.p = x - want_error: 'asn1: structure error' - want_error_code: eval_builtin_error - strict_error: true + p = __local1__ { + __local3__ = data.generated.csr + crypto.x509.parse_certificate_request(__local3__, __local2__) + __local0__ = __local2__ + __local1__ = __local0__.Subject.CommonName + } + note: cryptox509parsecertificaterequest/invalid DER or PEM data, b64 + query: data.generated.p = x + want_error: "asn1: structure error" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0129.yaml b/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0129.yaml index aad8a4e01d..e3759bae09 100644 --- a/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0129.yaml +++ b/test/cases/testdata/cryptox509parsecertificaterequest/test-cryptox509parsecertificaterequest-0129.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - csr = "foobar" + csr = "foobar" - p = __local1__ { - __local3__ = data.generated.csr - crypto.x509.parse_certificate_request(__local3__, __local2__) - __local0__ = __local2__ - __local1__ = __local0__.Subject.CommonName - } - note: cryptox509parsecertificaterequest/invalid DER or PEM data, string - query: data.generated.p = x - want_error: illegal base64 - want_error_code: eval_builtin_error - strict_error: true + p = __local1__ { + __local3__ = data.generated.csr + crypto.x509.parse_certificate_request(__local3__, __local2__) + __local0__ = __local2__ + __local1__ = __local0__.Subject.CommonName + } + note: cryptox509parsecertificaterequest/invalid DER or PEM data, string + query: data.generated.p = x + want_error: illegal base64 + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0117.yaml b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0117.yaml index 216c0d9fec..9c98d2ad15 100644 --- a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0117.yaml +++ b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0117.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - certs = "MIIDujCCAqKgAwIBAgIIE31FZVaPXTUwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkdvb2dsZSBJbmMxJTAjBgNVBAMTHEdvb2dsZSBJbnRlcm5ldCBBdXRob3JpdHkgRzIwHhcNMTQwMTI5MTMyNzQzWhcNMTQwNTI5MDAwMDAwWjBpMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzETMBEGA1UECgwKR29vZ2xlIEluYzEYMBYGA1UEAwwPbWFpbC5nb29nbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfRrObuSW5T7q5CnSEqefEmtH4CCv6+5EckuriNr1CjfVvqzwfAhopXkLrq45EQm8vkmf7W96XJhC7ZM0dYi1/qOCAU8wggFLMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAaBgNVHREEEzARgg9tYWlsLmdvb2dsZS5jb20wCwYDVR0PBAQDAgeAMGgGCCsGAQUFBwEBBFwwWjArBggrBgEFBQcwAoYfaHR0cDovL3BraS5nb29nbGUuY29tL0dJQUcyLmNydDArBggrBgEFBQcwAYYfaHR0cDovL2NsaWVudHMxLmdvb2dsZS5jb20vb2NzcDAdBgNVHQ4EFgQUiJxtimAuTfwb+aUtBn5UYKreKvMwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRK3QYWG7z2aLV29YG2u2IaulqBLzAXBgNVHSAEEDAOMAwGCisGAQQB1nkCBQEwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL3BraS5nb29nbGUuY29tL0dJQUcyLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAH6RYHxHdcGpMpFE3oxDoFnP+gtuBCHan2yE2GRbJ2Cw8Lw0MmuKqHlf9RSeYfd3BXeKkj1qO6TVKwCh+0HdZk283TZZyzmEOyclm3UGFYe82P/iDFt+CeQ3NpmBg+GoaVCuWAARJN/KfglbLyyYygcQq0SgeDh8dRKUiaW3HQSoYvTvdTuqzwK4CXsr3b5/dAOY8uMuG/IAR3FgwTbZ1dtoWRvOTa8hYiU6A475WuZKyEHcwnGYe57u2I2KbMgcKjPniocj4QzgYsVAVKW3IwaOhyE+vPxsiUkvQHdO2fojCkY8jg70jxM+gu59tPDNbw3Uh/2Ij310FgTHsnGQMyA==" + certs = "MIIDujCCAqKgAwIBAgIIE31FZVaPXTUwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkdvb2dsZSBJbmMxJTAjBgNVBAMTHEdvb2dsZSBJbnRlcm5ldCBBdXRob3JpdHkgRzIwHhcNMTQwMTI5MTMyNzQzWhcNMTQwNTI5MDAwMDAwWjBpMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzETMBEGA1UECgwKR29vZ2xlIEluYzEYMBYGA1UEAwwPbWFpbC5nb29nbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfRrObuSW5T7q5CnSEqefEmtH4CCv6+5EckuriNr1CjfVvqzwfAhopXkLrq45EQm8vkmf7W96XJhC7ZM0dYi1/qOCAU8wggFLMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAaBgNVHREEEzARgg9tYWlsLmdvb2dsZS5jb20wCwYDVR0PBAQDAgeAMGgGCCsGAQUFBwEBBFwwWjArBggrBgEFBQcwAoYfaHR0cDovL3BraS5nb29nbGUuY29tL0dJQUcyLmNydDArBggrBgEFBQcwAYYfaHR0cDovL2NsaWVudHMxLmdvb2dsZS5jb20vb2NzcDAdBgNVHQ4EFgQUiJxtimAuTfwb+aUtBn5UYKreKvMwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRK3QYWG7z2aLV29YG2u2IaulqBLzAXBgNVHSAEEDAOMAwGCisGAQQB1nkCBQEwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL3BraS5nb29nbGUuY29tL0dJQUcyLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAH6RYHxHdcGpMpFE3oxDoFnP+gtuBCHan2yE2GRbJ2Cw8Lw0MmuKqHlf9RSeYfd3BXeKkj1qO6TVKwCh+0HdZk283TZZyzmEOyclm3UGFYe82P/iDFt+CeQ3NpmBg+GoaVCuWAARJN/KfglbLyyYygcQq0SgeDh8dRKUiaW3HQSoYvTvdTuqzwK4CXsr3b5/dAOY8uMuG/IAR3FgwTbZ1dtoWRvOTa8hYiU6A475WuZKyEHcwnGYe57u2I2KbMgcKjPniocj4QzgYsVAVKW3IwaOhyE+vPxsiUkvQHdO2fojCkY8jg70jxM+gu59tPDNbw3Uh/2Ij310FgTHsnGQMyA==" - p = __local2__ { - __local4__ = data.generated.certs - crypto.x509.parse_certificates(__local4__, __local3__) - __local0__ = __local3__ - __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] - } - note: cryptox509parsecertificates/DER, single cert, b64 - query: data.generated.p = x - want_result: - - x: - - mail.google.com + p = __local2__ { + __local4__ = data.generated.certs + crypto.x509.parse_certificates(__local4__, __local3__) + __local0__ = __local3__ + __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] + } + note: cryptox509parsecertificates/DER, single cert, b64 + query: data.generated.p = x + want_result: + - x: + - mail.google.com diff --git a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0118.yaml b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0118.yaml index f8b2e02d4a..10f6cce495 100644 --- a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0118.yaml +++ b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0118.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - certs = "MIIDIjCCAougAwIBAgIQbt8NlJn9RTPdEpf8Qqk74TANBgkqhkiG9w0BAQUFADBMMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTAzMjUxNjQ5MjlaFw0xMDAzMjUxNjQ5MjlaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgwFgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMXW+JL8yvVhSwZBSegKLJWBohjvQew1vXpYElrnb56lTdyJOrvrAp9rc2Fr8P/YaHkfunr5xK6/Nwa6Puru0nQ1tN3PsVfAXzUdZqqH/uDeBy1m13Ov+9Nqt4vvCQ4MyGGpA6yQ3Zi1HJxBVmwBfwvuw7/zkQUf+6D1zGhQrSpZAgMBAAGjgecwgeQwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNybDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEFBQADgYEAYvHzBQ68EF5JfHrt+H4k0vSphrs7g3vRm5HrytmLBlmS9r0rSbfW08suQnqZ1gbHsdRjUlJ/rDnmqLZybeW/cCEqUsugdjSl4zIBG9GGjnjrXjyTzwMHInZ4byB0lP6qDtnVOyEQp2Vx+QIJza6IQ4XIglhwMO4V8z12Hi5FprwwggMjMIICjKADAgECAgQwAAACMA0GCSqGSIb3DQEBBQUAMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDA1MTMwMDAwMDBaFw0xNDA1MTIyMzU5NTlaMEwxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMRYwFAYDVQQDEw1UaGF3dGUgU0dDIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDU02fQjRV/rs0x/n0dkaE/C3E8rMzIZPtj/DJLB5S9b4C6L+EEk8Az/AkzI+kLdCtxxAPG0s3iL/UJY83/SKUAv+Dn84i3LTLemDbmCq0Ae8RkSjuEdQPycJJ9DmL1IatpNoQxdZD4v8dsiBsGlXzJ5ajedaEsemjf1coch1hgGQIDAQABo4H+MIH7MBIGA1UdEwEB/wQIMAYBAf8CAQAwCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIBBjAoBgNVHREEITAfpB0wGzEZMBcGA1UEAxMQUHJpdmF0ZUxhYmVsMy0xNTAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vY3JsLnZlcmlzaWduLmNvbS9wY2EzLmNybDAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0ZS5jb20wNAYDVR0lBC0wKwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQADgYEAVaxj6t6h3dKQX58Lzna+E1GPk9kFK8gbd0utaVCh7t7c/dsH6eg5lNyrcnkvBr+rgXDEqO3qUzTt7x5T2QbHVivRXPTRio60K7E3kEgIQiXFPorLf+tvBNFtxXSi96J8e2A8d80OzkgCfwEvtps34CoqNtzVhdas5T9Ub5YeBa8=" + certs = "MIIDIjCCAougAwIBAgIQbt8NlJn9RTPdEpf8Qqk74TANBgkqhkiG9w0BAQUFADBMMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTAzMjUxNjQ5MjlaFw0xMDAzMjUxNjQ5MjlaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgwFgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMXW+JL8yvVhSwZBSegKLJWBohjvQew1vXpYElrnb56lTdyJOrvrAp9rc2Fr8P/YaHkfunr5xK6/Nwa6Puru0nQ1tN3PsVfAXzUdZqqH/uDeBy1m13Ov+9Nqt4vvCQ4MyGGpA6yQ3Zi1HJxBVmwBfwvuw7/zkQUf+6D1zGhQrSpZAgMBAAGjgecwgeQwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNybDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEFBQADgYEAYvHzBQ68EF5JfHrt+H4k0vSphrs7g3vRm5HrytmLBlmS9r0rSbfW08suQnqZ1gbHsdRjUlJ/rDnmqLZybeW/cCEqUsugdjSl4zIBG9GGjnjrXjyTzwMHInZ4byB0lP6qDtnVOyEQp2Vx+QIJza6IQ4XIglhwMO4V8z12Hi5FprwwggMjMIICjKADAgECAgQwAAACMA0GCSqGSIb3DQEBBQUAMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDA1MTMwMDAwMDBaFw0xNDA1MTIyMzU5NTlaMEwxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMRYwFAYDVQQDEw1UaGF3dGUgU0dDIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDU02fQjRV/rs0x/n0dkaE/C3E8rMzIZPtj/DJLB5S9b4C6L+EEk8Az/AkzI+kLdCtxxAPG0s3iL/UJY83/SKUAv+Dn84i3LTLemDbmCq0Ae8RkSjuEdQPycJJ9DmL1IatpNoQxdZD4v8dsiBsGlXzJ5ajedaEsemjf1coch1hgGQIDAQABo4H+MIH7MBIGA1UdEwEB/wQIMAYBAf8CAQAwCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIBBjAoBgNVHREEITAfpB0wGzEZMBcGA1UEAxMQUHJpdmF0ZUxhYmVsMy0xNTAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vY3JsLnZlcmlzaWduLmNvbS9wY2EzLmNybDAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0ZS5jb20wNAYDVR0lBC0wKwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQADgYEAVaxj6t6h3dKQX58Lzna+E1GPk9kFK8gbd0utaVCh7t7c/dsH6eg5lNyrcnkvBr+rgXDEqO3qUzTt7x5T2QbHVivRXPTRio60K7E3kEgIQiXFPorLf+tvBNFtxXSi96J8e2A8d80OzkgCfwEvtps34CoqNtzVhdas5T9Ub5YeBa8=" - p = __local2__ { - __local4__ = data.generated.certs - crypto.x509.parse_certificates(__local4__, __local3__) - __local0__ = __local3__ - __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] - } - note: cryptox509parsecertificates/DER, chain, b64 - query: data.generated.p = x - want_result: - - x: - - mail.google.com - - Thawte SGC CA + p = __local2__ { + __local4__ = data.generated.certs + crypto.x509.parse_certificates(__local4__, __local3__) + __local0__ = __local3__ + __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] + } + note: cryptox509parsecertificates/DER, chain, b64 + query: data.generated.p = x + want_result: + - x: + - mail.google.com + - Thawte SGC CA diff --git a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0119.yaml b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0119.yaml index 14d5821d3d..feeb69f5e4 100644 --- a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0119.yaml +++ b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0119.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - certs = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGZHpDQ0JGK2dBd0lCQWdJU0EzTnJpQUV1cy8rY3ZmbHZoVlFPVzV6VE1BMEdDU3FHU0liM0RRRUJDd1VBDQpNRW94Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRmJtTnllWEIwTVNNd0lRWURWUVFEDQpFeHBNWlhRbmN5QkZibU55ZVhCMElFRjFkR2h2Y21sMGVTQllNekFlRncweU1EQTNNVEF4TmpBd016QmFGdzB5DQpNREV3TURneE5qQXdNekJhTUI0eEhEQWFCZ05WQkFNVEUyOXdaVzV3YjJ4cFkzbGhaMlZ1ZEM1dmNtY3dnZ0VpDQpNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUN5eThIWlhWVEoyVFNIWFlub0wrQ0tZcG80DQp3ejF3b3dVY2R0L1hCZ04wOGYzN054YU5rK1ZBajhHRDJzNnpob0hMU2h5WVMyUFZvc2Y3eHVtdnlHOTE0UExwDQpJSE85V21DYVpNcXdFeXZNTS9WRTlkQmtLZmFUbzc4QlQ2YVh5Sm1ua2pwZUZtQk9HczN1UDViVUFSajNPbm5yDQo3QW9zOWo0NXJncnl0cGVsWVRNbExpNmpWdEJ2NVJJWnVNb0oxNVcyNTJ0OGVJZ3NPcTU3YWQwQm9iZXl5NFR1DQpHaHZlUDBWM3ZVSnZJM2licUg1RTljV3pJMmY4VXRvaXJVTmYwSjN0Y25nOEpxU091dXpXRFlXclJEQXpRYkpZDQpxS3p2VkRjTitwdHFWN0daNkp1cUhoZHdnRGVxQk9zdmVEYnpBQXlZU1ZQSmpSV1llYThNeGxNN09YYnRBZ01CDQpBQUdqZ2dLQk1JSUNmVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHDQpDQ3NHQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZIRHdlYjZLcHJTdldydy92UjZrDQp3VFZwdWRQdE1COEdBMVVkSXdRWU1CYUFGS2hLYW1NRWZkMjY1dEU1dDZaRlplL3pxT3loTUc4R0NDc0dBUVVGDQpCd0VCQkdNd1lUQXVCZ2dyQmdFRkJRY3dBWVlpYUhSMGNEb3ZMMjlqYzNBdWFXNTBMWGd6TG14bGRITmxibU55DQplWEIwTG05eVp6QXZCZ2dyQmdFRkJRY3dBb1lqYUhSMGNEb3ZMMk5sY25RdWFXNTBMWGd6TG14bGRITmxibU55DQplWEIwTG05eVp5OHdOd1lEVlIwUkJEQXdMb0lUYjNCbGJuQnZiR2xqZVdGblpXNTBMbTl5WjRJWGQzZDNMbTl3DQpaVzV3YjJ4cFkzbGhaMlZ1ZEM1dmNtY3dUQVlEVlIwZ0JFVXdRekFJQmdabmdRd0JBZ0V3TndZTEt3WUJCQUdDDQozeE1CQVFFd0tEQW1CZ2dyQmdFRkJRY0NBUllhYUhSMGNEb3ZMMk53Y3k1c1pYUnpaVzVqY25sd2RDNXZjbWN3DQpnZ0VFQmdvckJnRUVBZFo1QWdRQ0JJSDFCSUh5QVBBQWRnQmVwM1A1MzFiQTU3VTJTSDNRU2VBeWVwR2FESVNoDQpFaEtFR0hXV2dYRkZXQUFBQVhNNXE5dkRBQUFFQXdCSE1FVUNJUUNSSHFncnRsMDdZNlRyeWZNbVFONlROS1JWDQptMUxUeTl2STNNaC9rcmJTUVFJZ1lnVkFLd1hSb1BSK0JOMXBjSmJKdjNBaXZiaDZFN0w5ODdyTVNFUWs1Vm9BDQpkZ0N5SGdYTWk2TE5paUJPaDJiNUs3bUtKU0JuYTlyNmNPZXlTVk10NzR1UVhnQUFBWE01cTl1dUFBQUVBd0JIDQpNRVVDSVFEZHJ1VHV0US9VY2hja3FZUSsycDltdXRuclNublFYYTh4TEE0MVlHelpIZ0lnWFhFVEZiR2ZuczJDDQo3WUo4Y0RvWVlBam1kek1nOGs3aEtYUUd1L0tzQWI0d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHazlwNXl0DQpPYURJUFJQazVJbXBIMWY2ZjAxMG1VTFdQVjVQam42a3pNSFA5ejVuZE16KysxTk92SFY0R1ZCQ29ldUtxMWJwDQpGQ0QrSWdBOXBjSkFFWFEvdTRHcG1iQUtVWnptZk1JYjg5YVJnbkpwMG14OVk0QkJkNDVFeFVXczh3NGNmZ0ZaDQp5WlVlSHZXczFhbnBBY1IyRklacEFWTVFDYUlnak90MmRkUjF4djRhY0N3K21EL0I5b0tmR1pFVWd5SUFOdnBCDQpJRGFiZ2dMU3dGYTlPS0tYUkJWUkFhZm83T2FjMjFIUVU3RTNzWHBoYUhaR2ZuMkYyN2REL3FvcVVjTHFyNGxDDQpjN2xORTBZR3A2cithUG85VkxjSDJWMGxONHQrMVZiVkFyd0t6bnNOZGNRbndLQmV0Z3F2WnJnTGc0K3FqbzR5DQp1aXhKWTM4WFUvYjdiYVU9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tDQo=" + certs = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGZHpDQ0JGK2dBd0lCQWdJU0EzTnJpQUV1cy8rY3ZmbHZoVlFPVzV6VE1BMEdDU3FHU0liM0RRRUJDd1VBDQpNRW94Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRmJtTnllWEIwTVNNd0lRWURWUVFEDQpFeHBNWlhRbmN5QkZibU55ZVhCMElFRjFkR2h2Y21sMGVTQllNekFlRncweU1EQTNNVEF4TmpBd016QmFGdzB5DQpNREV3TURneE5qQXdNekJhTUI0eEhEQWFCZ05WQkFNVEUyOXdaVzV3YjJ4cFkzbGhaMlZ1ZEM1dmNtY3dnZ0VpDQpNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUN5eThIWlhWVEoyVFNIWFlub0wrQ0tZcG80DQp3ejF3b3dVY2R0L1hCZ04wOGYzN054YU5rK1ZBajhHRDJzNnpob0hMU2h5WVMyUFZvc2Y3eHVtdnlHOTE0UExwDQpJSE85V21DYVpNcXdFeXZNTS9WRTlkQmtLZmFUbzc4QlQ2YVh5Sm1ua2pwZUZtQk9HczN1UDViVUFSajNPbm5yDQo3QW9zOWo0NXJncnl0cGVsWVRNbExpNmpWdEJ2NVJJWnVNb0oxNVcyNTJ0OGVJZ3NPcTU3YWQwQm9iZXl5NFR1DQpHaHZlUDBWM3ZVSnZJM2licUg1RTljV3pJMmY4VXRvaXJVTmYwSjN0Y25nOEpxU091dXpXRFlXclJEQXpRYkpZDQpxS3p2VkRjTitwdHFWN0daNkp1cUhoZHdnRGVxQk9zdmVEYnpBQXlZU1ZQSmpSV1llYThNeGxNN09YYnRBZ01CDQpBQUdqZ2dLQk1JSUNmVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHDQpDQ3NHQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZIRHdlYjZLcHJTdldydy92UjZrDQp3VFZwdWRQdE1COEdBMVVkSXdRWU1CYUFGS2hLYW1NRWZkMjY1dEU1dDZaRlplL3pxT3loTUc4R0NDc0dBUVVGDQpCd0VCQkdNd1lUQXVCZ2dyQmdFRkJRY3dBWVlpYUhSMGNEb3ZMMjlqYzNBdWFXNTBMWGd6TG14bGRITmxibU55DQplWEIwTG05eVp6QXZCZ2dyQmdFRkJRY3dBb1lqYUhSMGNEb3ZMMk5sY25RdWFXNTBMWGd6TG14bGRITmxibU55DQplWEIwTG05eVp5OHdOd1lEVlIwUkJEQXdMb0lUYjNCbGJuQnZiR2xqZVdGblpXNTBMbTl5WjRJWGQzZDNMbTl3DQpaVzV3YjJ4cFkzbGhaMlZ1ZEM1dmNtY3dUQVlEVlIwZ0JFVXdRekFJQmdabmdRd0JBZ0V3TndZTEt3WUJCQUdDDQozeE1CQVFFd0tEQW1CZ2dyQmdFRkJRY0NBUllhYUhSMGNEb3ZMMk53Y3k1c1pYUnpaVzVqY25sd2RDNXZjbWN3DQpnZ0VFQmdvckJnRUVBZFo1QWdRQ0JJSDFCSUh5QVBBQWRnQmVwM1A1MzFiQTU3VTJTSDNRU2VBeWVwR2FESVNoDQpFaEtFR0hXV2dYRkZXQUFBQVhNNXE5dkRBQUFFQXdCSE1FVUNJUUNSSHFncnRsMDdZNlRyeWZNbVFONlROS1JWDQptMUxUeTl2STNNaC9rcmJTUVFJZ1lnVkFLd1hSb1BSK0JOMXBjSmJKdjNBaXZiaDZFN0w5ODdyTVNFUWs1Vm9BDQpkZ0N5SGdYTWk2TE5paUJPaDJiNUs3bUtKU0JuYTlyNmNPZXlTVk10NzR1UVhnQUFBWE01cTl1dUFBQUVBd0JIDQpNRVVDSVFEZHJ1VHV0US9VY2hja3FZUSsycDltdXRuclNublFYYTh4TEE0MVlHelpIZ0lnWFhFVEZiR2ZuczJDDQo3WUo4Y0RvWVlBam1kek1nOGs3aEtYUUd1L0tzQWI0d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHazlwNXl0DQpPYURJUFJQazVJbXBIMWY2ZjAxMG1VTFdQVjVQam42a3pNSFA5ejVuZE16KysxTk92SFY0R1ZCQ29ldUtxMWJwDQpGQ0QrSWdBOXBjSkFFWFEvdTRHcG1iQUtVWnptZk1JYjg5YVJnbkpwMG14OVk0QkJkNDVFeFVXczh3NGNmZ0ZaDQp5WlVlSHZXczFhbnBBY1IyRklacEFWTVFDYUlnak90MmRkUjF4djRhY0N3K21EL0I5b0tmR1pFVWd5SUFOdnBCDQpJRGFiZ2dMU3dGYTlPS0tYUkJWUkFhZm83T2FjMjFIUVU3RTNzWHBoYUhaR2ZuMkYyN2REL3FvcVVjTHFyNGxDDQpjN2xORTBZR3A2cithUG85VkxjSDJWMGxONHQrMVZiVkFyd0t6bnNOZGNRbndLQmV0Z3F2WnJnTGc0K3FqbzR5DQp1aXhKWTM4WFUvYjdiYVU9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tDQo=" - p = __local2__ { - __local4__ = data.generated.certs - crypto.x509.parse_certificates(__local4__, __local3__) - __local0__ = __local3__ - __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] - } - note: cryptox509parsecertificates/PEM, single cert, b64 - query: data.generated.p = x - want_result: - - x: - - openpolicyagent.org + p = __local2__ { + __local4__ = data.generated.certs + crypto.x509.parse_certificates(__local4__, __local3__) + __local0__ = __local3__ + __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] + } + note: cryptox509parsecertificates/PEM, single cert, b64 + query: data.generated.p = x + want_result: + - x: + - openpolicyagent.org diff --git a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0120.yaml b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0120.yaml index bfbc8b3c58..c6877c7800 100644 --- a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0120.yaml +++ b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0120.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - certs = "-----BEGIN CERTIFICATE-----\nMIIFdzCCBF+gAwIBAgISA3NriAEus/+cvflvhVQOW5zTMA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA3MTAxNjAwMzBaFw0y\nMDEwMDgxNjAwMzBaMB4xHDAaBgNVBAMTE29wZW5wb2xpY3lhZ2VudC5vcmcwggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyy8HZXVTJ2TSHXYnoL+CKYpo4\nwz1wowUcdt/XBgN08f37NxaNk+VAj8GD2s6zhoHLShyYS2PVosf7xumvyG914PLp\nIHO9WmCaZMqwEyvMM/VE9dBkKfaTo78BT6aXyJmnkjpeFmBOGs3uP5bUARj3Onnr\n7Aos9j45rgrytpelYTMlLi6jVtBv5RIZuMoJ15W252t8eIgsOq57ad0Bobeyy4Tu\nGhveP0V3vUJvI3ibqH5E9cWzI2f8UtoirUNf0J3tcng8JqSOuuzWDYWrRDAzQbJY\nqKzvVDcN+ptqV7GZ6JuqHhdwgDeqBOsveDbzAAyYSVPJjRWYea8MxlM7OXbtAgMB\nAAGjggKBMIICfTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG\nCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFHDweb6KprSvWrw/vR6k\nwTVpudPtMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMG8GCCsGAQUF\nBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50LXgzLmxldHNlbmNy\neXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNlbmNy\neXB0Lm9yZy8wNwYDVR0RBDAwLoITb3BlbnBvbGljeWFnZW50Lm9yZ4IXd3d3Lm9w\nZW5wb2xpY3lhZ2VudC5vcmcwTAYDVR0gBEUwQzAIBgZngQwBAgEwNwYLKwYBBAGC\n3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcw\nggEEBgorBgEEAdZ5AgQCBIH1BIHyAPAAdgBep3P531bA57U2SH3QSeAyepGaDISh\nEhKEGHWWgXFFWAAAAXM5q9vDAAAEAwBHMEUCIQCRHqgrtl07Y6TryfMmQN6TNKRV\nm1LTy9vI3Mh/krbSQQIgYgVAKwXRoPR+BN1pcJbJv3Aivbh6E7L987rMSEQk5VoA\ndgCyHgXMi6LNiiBOh2b5K7mKJSBna9r6cOeySVMt74uQXgAAAXM5q9uuAAAEAwBH\nMEUCIQDdruTutQ/UchckqYQ+2p9mutnrSnnQXa8xLA41YGzZHgIgXXETFbGfns2C\n7YJ8cDoYYAjmdzMg8k7hKXQGu/KsAb4wDQYJKoZIhvcNAQELBQADggEBAGk9p5yt\nOaDIPRPk5ImpH1f6f010mULWPV5Pjn6kzMHP9z5ndMz++1NOvHV4GVBCoeuKq1bp\nFCD+IgA9pcJAEXQ/u4GpmbAKUZzmfMIb89aRgnJp0mx9Y4BBd45ExUWs8w4cfgFZ\nyZUeHvWs1anpAcR2FIZpAVMQCaIgjOt2ddR1xv4acCw+mD/B9oKfGZEUgyIANvpB\nIDabggLSwFa9OKKXRBVRAafo7Oac21HQU7E3sXphaHZGfn2F27dD/qoqUcLqr4lC\nc7lNE0YGp6r+aPo9VLcH2V0lN4t+1VbVArwKznsNdcQnwKBetgqvZrgLg4+qjo4y\nuixJY38XU/b7baU=\n-----END CERTIFICATE-----" + certs = "-----BEGIN CERTIFICATE-----\nMIIFdzCCBF+gAwIBAgISA3NriAEus/+cvflvhVQOW5zTMA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA3MTAxNjAwMzBaFw0y\nMDEwMDgxNjAwMzBaMB4xHDAaBgNVBAMTE29wZW5wb2xpY3lhZ2VudC5vcmcwggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyy8HZXVTJ2TSHXYnoL+CKYpo4\nwz1wowUcdt/XBgN08f37NxaNk+VAj8GD2s6zhoHLShyYS2PVosf7xumvyG914PLp\nIHO9WmCaZMqwEyvMM/VE9dBkKfaTo78BT6aXyJmnkjpeFmBOGs3uP5bUARj3Onnr\n7Aos9j45rgrytpelYTMlLi6jVtBv5RIZuMoJ15W252t8eIgsOq57ad0Bobeyy4Tu\nGhveP0V3vUJvI3ibqH5E9cWzI2f8UtoirUNf0J3tcng8JqSOuuzWDYWrRDAzQbJY\nqKzvVDcN+ptqV7GZ6JuqHhdwgDeqBOsveDbzAAyYSVPJjRWYea8MxlM7OXbtAgMB\nAAGjggKBMIICfTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG\nCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFHDweb6KprSvWrw/vR6k\nwTVpudPtMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMG8GCCsGAQUF\nBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50LXgzLmxldHNlbmNy\neXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNlbmNy\neXB0Lm9yZy8wNwYDVR0RBDAwLoITb3BlbnBvbGljeWFnZW50Lm9yZ4IXd3d3Lm9w\nZW5wb2xpY3lhZ2VudC5vcmcwTAYDVR0gBEUwQzAIBgZngQwBAgEwNwYLKwYBBAGC\n3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcw\nggEEBgorBgEEAdZ5AgQCBIH1BIHyAPAAdgBep3P531bA57U2SH3QSeAyepGaDISh\nEhKEGHWWgXFFWAAAAXM5q9vDAAAEAwBHMEUCIQCRHqgrtl07Y6TryfMmQN6TNKRV\nm1LTy9vI3Mh/krbSQQIgYgVAKwXRoPR+BN1pcJbJv3Aivbh6E7L987rMSEQk5VoA\ndgCyHgXMi6LNiiBOh2b5K7mKJSBna9r6cOeySVMt74uQXgAAAXM5q9uuAAAEAwBH\nMEUCIQDdruTutQ/UchckqYQ+2p9mutnrSnnQXa8xLA41YGzZHgIgXXETFbGfns2C\n7YJ8cDoYYAjmdzMg8k7hKXQGu/KsAb4wDQYJKoZIhvcNAQELBQADggEBAGk9p5yt\nOaDIPRPk5ImpH1f6f010mULWPV5Pjn6kzMHP9z5ndMz++1NOvHV4GVBCoeuKq1bp\nFCD+IgA9pcJAEXQ/u4GpmbAKUZzmfMIb89aRgnJp0mx9Y4BBd45ExUWs8w4cfgFZ\nyZUeHvWs1anpAcR2FIZpAVMQCaIgjOt2ddR1xv4acCw+mD/B9oKfGZEUgyIANvpB\nIDabggLSwFa9OKKXRBVRAafo7Oac21HQU7E3sXphaHZGfn2F27dD/qoqUcLqr4lC\nc7lNE0YGp6r+aPo9VLcH2V0lN4t+1VbVArwKznsNdcQnwKBetgqvZrgLg4+qjo4y\nuixJY38XU/b7baU=\n-----END CERTIFICATE-----" - p = __local2__ { - __local4__ = data.generated.certs - crypto.x509.parse_certificates(__local4__, __local3__) - __local0__ = __local3__ - __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] - } - note: cryptox509parsecertificates/PEM, single cert, string - query: data.generated.p = x - want_result: - - x: - - openpolicyagent.org + p = __local2__ { + __local4__ = data.generated.certs + crypto.x509.parse_certificates(__local4__, __local3__) + __local0__ = __local3__ + __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] + } + note: cryptox509parsecertificates/PEM, single cert, string + query: data.generated.p = x + want_result: + - x: + - openpolicyagent.org diff --git a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0121.yaml b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0121.yaml index d08d55d8a4..4f7db4a780 100644 --- a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0121.yaml +++ b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0121.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - certs = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGZHpDQ0JGK2dBd0lCQWdJU0EzTnJpQUV1cy8rY3ZmbHZoVlFPVzV6VE1BMEdDU3FHU0liM0RRRUJDd1VBTUVveEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1TTXdJUVlEVlFRREV4cE1aWFFuY3lCRmJtTnllWEIwSUVGMWRHaHZjbWwwZVNCWU16QWVGdzB5TURBM01UQXhOakF3TXpCYUZ3MHlNREV3TURneE5qQXdNekJhTUI0eEhEQWFCZ05WQkFNVEUyOXdaVzV3YjJ4cFkzbGhaMlZ1ZEM1dmNtY3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDeXk4SFpYVlRKMlRTSFhZbm9MK0NLWXBvNHd6MXdvd1VjZHQvWEJnTjA4ZjM3TnhhTmsrVkFqOEdEMnM2emhvSExTaHlZUzJQVm9zZjd4dW12eUc5MTRQTHBJSE85V21DYVpNcXdFeXZNTS9WRTlkQmtLZmFUbzc4QlQ2YVh5Sm1ua2pwZUZtQk9HczN1UDViVUFSajNPbm5yN0FvczlqNDVyZ3J5dHBlbFlUTWxMaTZqVnRCdjVSSVp1TW9KMTVXMjUydDhlSWdzT3E1N2FkMEJvYmV5eTRUdUdodmVQMFYzdlVKdkkzaWJxSDVFOWNXekkyZjhVdG9pclVOZjBKM3Rjbmc4SnFTT3V1eldEWVdyUkRBelFiSllxS3p2VkRjTitwdHFWN0daNkp1cUhoZHdnRGVxQk9zdmVEYnpBQXlZU1ZQSmpSV1llYThNeGxNN09YYnRBZ01CQUFHamdnS0JNSUlDZlRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkhEd2ViNktwclN2V3J3L3ZSNmt3VFZwdWRQdE1COEdBMVVkSXdRWU1CYUFGS2hLYW1NRWZkMjY1dEU1dDZaRlplL3pxT3loTUc4R0NDc0dBUVVGQndFQkJHTXdZVEF1QmdnckJnRUZCUWN3QVlZaWFIUjBjRG92TDI5amMzQXVhVzUwTFhnekxteGxkSE5sYm1OeWVYQjBMbTl5WnpBdkJnZ3JCZ0VGQlFjd0FvWWphSFIwY0RvdkwyTmxjblF1YVc1MExYZ3pMbXhsZEhObGJtTnllWEIwTG05eVp5OHdOd1lEVlIwUkJEQXdMb0lUYjNCbGJuQnZiR2xqZVdGblpXNTBMbTl5WjRJWGQzZDNMbTl3Wlc1d2IyeHBZM2xoWjJWdWRDNXZjbWN3VEFZRFZSMGdCRVV3UXpBSUJnWm5nUXdCQWdFd053WUxLd1lCQkFHQzN4TUJBUUV3S0RBbUJnZ3JCZ0VGQlFjQ0FSWWFhSFIwY0RvdkwyTndjeTVzWlhSelpXNWpjbmx3ZEM1dmNtY3dnZ0VFQmdvckJnRUVBZFo1QWdRQ0JJSDFCSUh5QVBBQWRnQmVwM1A1MzFiQTU3VTJTSDNRU2VBeWVwR2FESVNoRWhLRUdIV1dnWEZGV0FBQUFYTTVxOXZEQUFBRUF3QkhNRVVDSVFDUkhxZ3J0bDA3WTZUcnlmTW1RTjZUTktSVm0xTFR5OXZJM01oL2tyYlNRUUlnWWdWQUt3WFJvUFIrQk4xcGNKYkp2M0FpdmJoNkU3TDk4N3JNU0VRazVWb0FkZ0N5SGdYTWk2TE5paUJPaDJiNUs3bUtKU0JuYTlyNmNPZXlTVk10NzR1UVhnQUFBWE01cTl1dUFBQUVBd0JITUVVQ0lRRGRydVR1dFEvVWNoY2txWVErMnA5bXV0bnJTbm5RWGE4eExBNDFZR3paSGdJZ1hYRVRGYkdmbnMyQzdZSjhjRG9ZWUFqbWR6TWc4azdoS1hRR3UvS3NBYjR3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUdrOXA1eXRPYURJUFJQazVJbXBIMWY2ZjAxMG1VTFdQVjVQam42a3pNSFA5ejVuZE16KysxTk92SFY0R1ZCQ29ldUtxMWJwRkNEK0lnQTlwY0pBRVhRL3U0R3BtYkFLVVp6bWZNSWI4OWFSZ25KcDBteDlZNEJCZDQ1RXhVV3M4dzRjZmdGWnlaVWVIdldzMWFucEFjUjJGSVpwQVZNUUNhSWdqT3QyZGRSMXh2NGFjQ3crbUQvQjlvS2ZHWkVVZ3lJQU52cEJJRGFiZ2dMU3dGYTlPS0tYUkJWUkFhZm83T2FjMjFIUVU3RTNzWHBoYUhaR2ZuMkYyN2REL3FvcVVjTHFyNGxDYzdsTkUwWUdwNnIrYVBvOVZMY0gyVjBsTjR0KzFWYlZBcndLem5zTmRjUW53S0JldGdxdlpyZ0xnNCtxam80eXVpeEpZMzhYVS9iN2JhVT0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQ0KTUlJRWtqQ0NBM3FnQXdJQkFnSVFDZ0ZCUWdBQUFWT0ZjMm9MaGV5bkNEQU5CZ2txaGtpRzl3MEJBUXNGQURBL01TUXdJZ1lEVlFRS0V4dEVhV2RwZEdGc0lGTnBaMjVoZEhWeVpTQlVjblZ6ZENCRGJ5NHhGekFWQmdOVkJBTVREa1JUVkNCU2IyOTBJRU5CSUZnek1CNFhEVEUyTURNeE56RTJOREEwTmxvWERUSXhNRE14TnpFMk5EQTBObG93U2pFTE1Ba0dBMVVFQmhNQ1ZWTXhGakFVQmdOVkJBb1REVXhsZENkeklFVnVZM0o1Y0hReEl6QWhCZ05WQkFNVEdreGxkQ2R6SUVWdVkzSjVjSFFnUVhWMGFHOXlhWFI1SUZnek1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbk5NTThGcmxMa2UzY2wwM2c3Tm9ZekRxMXpVbUdTWGh2YjQxOFhDU0w3ZTRTMEVGcTZtZU5RaFk3TEVxeEdpSEM2UGpkZVRtODZkaWNicDVnV0FmMTVHYW4vUFFlR2R4eUdrT2xaSFAvdWFaNldBOFNNeCt5azEzRWlTZFJ4dGE2N25zSGpjQUhKeXNlNmNGNnM1SzY3MUI1VGFZdWN2OWJUeVdhTjhqS2tLUURJWjBaOGgvcFpxNFVtRVVFejlsNllLSHk5djZEbGIyaG9uemhUK1hocSt3M0JydmF3MlZGbjNFSzZCbHNwa0VObldBYTZ4Szh4dVFTWGd2b3BaUEtpQWxLUVRHZE1EUU1jMlBNVGlWRnJxb003aEQ4YkVmd3pCL29ua3hFejB0TnZqai9QSXphcms1TWNXdnhJME5IV1FXTTZyNmhDbTIxQXZBMkgzRGt3SURBUUFCbzRJQmZUQ0NBWGt3RWdZRFZSMFRBUUgvQkFnd0JnRUIvd0lCQURBT0JnTlZIUThCQWY4RUJBTUNBWVl3ZndZSUt3WUJCUVVIQVFFRWN6QnhNRElHQ0NzR0FRVUZCekFCaGlab2RIUndPaTh2YVhOeVp5NTBjblZ6ZEdsa0xtOWpjM0F1YVdSbGJuUnlkWE4wTG1OdmJUQTdCZ2dyQmdFRkJRY3dBb1l2YUhSMGNEb3ZMMkZ3Y0hNdWFXUmxiblJ5ZFhOMExtTnZiUzl5YjI5MGN5OWtjM1J5YjI5MFkyRjRNeTV3TjJNd0h3WURWUjBqQkJnd0ZvQVV4S2V4cEhzc2NmcmI0VXVRZGYvRUZXQ0ZpUkF3VkFZRFZSMGdCRTB3U3pBSUJnWm5nUXdCQWdFd1B3WUxLd1lCQkFHQzN4TUJBUUV3TURBdUJnZ3JCZ0VGQlFjQ0FSWWlhSFIwY0RvdkwyTndjeTV5YjI5MExYZ3hMbXhsZEhObGJtTnllWEIwTG05eVp6QThCZ05WSFI4RU5UQXpNREdnTDZBdGhpdG9kSFJ3T2k4dlkzSnNMbWxrWlc1MGNuVnpkQzVqYjIwdlJGTlVVazlQVkVOQldETkRVa3d1WTNKc01CMEdBMVVkRGdRV0JCU29TbXBqQkgzZHV1YlJPYmVtUldYdjg2anNvVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBM1RQWEVmTmpXRGpkR0JYN0NWVytkbGE1Y0VpbGFVY25lOElrQ0pMeFdoOUtFaWszSkhSUkhHSm91TTJWY0dmbDk2UzhUaWhSelp2b3JvZWQ2dGk2V3FFQm10enczV29kYXRnK1Z5T2VwaDRFWXByLzF3WEt0eDgvd0FwSXZKU3d0bVZpNE1GVTVhTXFyU0RFNmVhNzNNajJ0Y015bzVqTWQ2am1lV1VISzhzby9qb1dVb0hPVWd3dVg0UG8xUVl6KzNkc3prRHFNcDRma2x4QndYUnNXMTBLWHpQTVRaK3NPUEF2ZXl4aW5kbWprVzhsR3krUXNSbEdQZlorRzZaNmg3bWplbTBZK2lXbGtZY1Y0UElXTDFpd0JpOHNhQ2JHUzVqTjJwOE0rWCtRN1VOS0VrUk9iM042S09xa3FtNTdUSDJIM2VESkFrU25oNi9ETkZ1MFFnPT0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQ0KTUlJRFNqQ0NBaktnQXdJQkFnSVFSSyt3Z05hako3cUpNRG1HTHZoQWF6QU5CZ2txaGtpRzl3MEJBUVVGQURBL01TUXdJZ1lEVlFRS0V4dEVhV2RwZEdGc0lGTnBaMjVoZEhWeVpTQlVjblZ6ZENCRGJ5NHhGekFWQmdOVkJBTVREa1JUVkNCU2IyOTBJRU5CSUZnek1CNFhEVEF3TURrek1ESXhNVEl4T1ZvWERUSXhNRGt6TURFME1ERXhOVm93UHpFa01DSUdBMVVFQ2hNYlJHbG5hWFJoYkNCVGFXZHVZWFIxY21VZ1ZISjFjM1FnUTI4dU1SY3dGUVlEVlFRREV3NUVVMVFnVW05dmRDQkRRU0JZTXpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTit2NlpkUUNJTlh0TXhpWmZhUWd1ekgweXhyTU1wYjdObkRmY2RBd1JnVWkrRG9NM1pKS3VNL0lVbVRyRTRPcno1SXkyWHUvTk1oRDJYU0t0a3lqNHpsOTNld0VudTFsY0NKbzZtNjdYTXVlZ3dHTW9PaWZvb1VNTTBSb09FcU9MbDVDakg5VUwyQVpkKzNVV09EeU9LSVllcExZWUhzVW11NW91SkxHaWlmU0tPZUROb0pqajRYTGg3ZElOOWJ4aXFLcXk2OWNLM0ZDeG9sa0hSeXhYdHFxelRXTUluLzVXZ1RlMVFMeU5hdTdGcWNraDQ5WkxPTXh0Ky95VUZ3N0JaeTFTYnNPRlU1UTlEOC9SaGNRUEdYNjlXYW00MGR1dG9sdWNiWTM4RVZBanFyMm03eFBpNzFYQWljUE5hRGFlUVFteGtxdGlsWDQrVTltNS93QWwwQ0F3RUFBYU5DTUVBd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUNBUVl3SFFZRFZSME9CQllFRk1TbnNhUjdMSEg2MitGTGtIWC94QlZnaFlrUU1BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQ2pHaXliRndCY3FSN3VLR1kzT3IrRHh6OUx3d21nbFNCZDQ5bFpSTkkrRFQ2OWlrdWdkQi9PRUlLY2RCb2RmcGdhM2NzVFM3TWdST1NSNmN6OGZhWGJhdVgrNXYzZ1R0MjNBRHExY0Vtdjh1WHJBdkhSQW9zWnk1UTZYa2pFR0I1WUdWOGVBbHJ3RFBHeHJhbmNXWWFMYnVtUjlZYksrcmxtTTZwWlc4N2lweFp6UjhzcnpKbXdOMGpQNDFaTDljOFBESEl5aDhid1JMdFRjbTFEOVNaSW1sSm50MWlyL21kMmNYamJEYUpXRkJNNUpER0ZvcWdDV2pCSDRkMVFCN3dDQ1pBQTYyUmpZSnNXdklqSkV1YlNmWkdMK1QweWpXVzA2WHl4VjNicXhiWW9PYjhWWlJ6STluZVdhZ3FOZHd2WWtRc0VqZ2ZiS2JZSzdwMkNOVFVRDQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tDQo=" + certs = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGZHpDQ0JGK2dBd0lCQWdJU0EzTnJpQUV1cy8rY3ZmbHZoVlFPVzV6VE1BMEdDU3FHU0liM0RRRUJDd1VBTUVveEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1TTXdJUVlEVlFRREV4cE1aWFFuY3lCRmJtTnllWEIwSUVGMWRHaHZjbWwwZVNCWU16QWVGdzB5TURBM01UQXhOakF3TXpCYUZ3MHlNREV3TURneE5qQXdNekJhTUI0eEhEQWFCZ05WQkFNVEUyOXdaVzV3YjJ4cFkzbGhaMlZ1ZEM1dmNtY3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDeXk4SFpYVlRKMlRTSFhZbm9MK0NLWXBvNHd6MXdvd1VjZHQvWEJnTjA4ZjM3TnhhTmsrVkFqOEdEMnM2emhvSExTaHlZUzJQVm9zZjd4dW12eUc5MTRQTHBJSE85V21DYVpNcXdFeXZNTS9WRTlkQmtLZmFUbzc4QlQ2YVh5Sm1ua2pwZUZtQk9HczN1UDViVUFSajNPbm5yN0FvczlqNDVyZ3J5dHBlbFlUTWxMaTZqVnRCdjVSSVp1TW9KMTVXMjUydDhlSWdzT3E1N2FkMEJvYmV5eTRUdUdodmVQMFYzdlVKdkkzaWJxSDVFOWNXekkyZjhVdG9pclVOZjBKM3Rjbmc4SnFTT3V1eldEWVdyUkRBelFiSllxS3p2VkRjTitwdHFWN0daNkp1cUhoZHdnRGVxQk9zdmVEYnpBQXlZU1ZQSmpSV1llYThNeGxNN09YYnRBZ01CQUFHamdnS0JNSUlDZlRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkhEd2ViNktwclN2V3J3L3ZSNmt3VFZwdWRQdE1COEdBMVVkSXdRWU1CYUFGS2hLYW1NRWZkMjY1dEU1dDZaRlplL3pxT3loTUc4R0NDc0dBUVVGQndFQkJHTXdZVEF1QmdnckJnRUZCUWN3QVlZaWFIUjBjRG92TDI5amMzQXVhVzUwTFhnekxteGxkSE5sYm1OeWVYQjBMbTl5WnpBdkJnZ3JCZ0VGQlFjd0FvWWphSFIwY0RvdkwyTmxjblF1YVc1MExYZ3pMbXhsZEhObGJtTnllWEIwTG05eVp5OHdOd1lEVlIwUkJEQXdMb0lUYjNCbGJuQnZiR2xqZVdGblpXNTBMbTl5WjRJWGQzZDNMbTl3Wlc1d2IyeHBZM2xoWjJWdWRDNXZjbWN3VEFZRFZSMGdCRVV3UXpBSUJnWm5nUXdCQWdFd053WUxLd1lCQkFHQzN4TUJBUUV3S0RBbUJnZ3JCZ0VGQlFjQ0FSWWFhSFIwY0RvdkwyTndjeTVzWlhSelpXNWpjbmx3ZEM1dmNtY3dnZ0VFQmdvckJnRUVBZFo1QWdRQ0JJSDFCSUh5QVBBQWRnQmVwM1A1MzFiQTU3VTJTSDNRU2VBeWVwR2FESVNoRWhLRUdIV1dnWEZGV0FBQUFYTTVxOXZEQUFBRUF3QkhNRVVDSVFDUkhxZ3J0bDA3WTZUcnlmTW1RTjZUTktSVm0xTFR5OXZJM01oL2tyYlNRUUlnWWdWQUt3WFJvUFIrQk4xcGNKYkp2M0FpdmJoNkU3TDk4N3JNU0VRazVWb0FkZ0N5SGdYTWk2TE5paUJPaDJiNUs3bUtKU0JuYTlyNmNPZXlTVk10NzR1UVhnQUFBWE01cTl1dUFBQUVBd0JITUVVQ0lRRGRydVR1dFEvVWNoY2txWVErMnA5bXV0bnJTbm5RWGE4eExBNDFZR3paSGdJZ1hYRVRGYkdmbnMyQzdZSjhjRG9ZWUFqbWR6TWc4azdoS1hRR3UvS3NBYjR3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUdrOXA1eXRPYURJUFJQazVJbXBIMWY2ZjAxMG1VTFdQVjVQam42a3pNSFA5ejVuZE16KysxTk92SFY0R1ZCQ29ldUtxMWJwRkNEK0lnQTlwY0pBRVhRL3U0R3BtYkFLVVp6bWZNSWI4OWFSZ25KcDBteDlZNEJCZDQ1RXhVV3M4dzRjZmdGWnlaVWVIdldzMWFucEFjUjJGSVpwQVZNUUNhSWdqT3QyZGRSMXh2NGFjQ3crbUQvQjlvS2ZHWkVVZ3lJQU52cEJJRGFiZ2dMU3dGYTlPS0tYUkJWUkFhZm83T2FjMjFIUVU3RTNzWHBoYUhaR2ZuMkYyN2REL3FvcVVjTHFyNGxDYzdsTkUwWUdwNnIrYVBvOVZMY0gyVjBsTjR0KzFWYlZBcndLem5zTmRjUW53S0JldGdxdlpyZ0xnNCtxam80eXVpeEpZMzhYVS9iN2JhVT0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQ0KTUlJRWtqQ0NBM3FnQXdJQkFnSVFDZ0ZCUWdBQUFWT0ZjMm9MaGV5bkNEQU5CZ2txaGtpRzl3MEJBUXNGQURBL01TUXdJZ1lEVlFRS0V4dEVhV2RwZEdGc0lGTnBaMjVoZEhWeVpTQlVjblZ6ZENCRGJ5NHhGekFWQmdOVkJBTVREa1JUVkNCU2IyOTBJRU5CSUZnek1CNFhEVEUyTURNeE56RTJOREEwTmxvWERUSXhNRE14TnpFMk5EQTBObG93U2pFTE1Ba0dBMVVFQmhNQ1ZWTXhGakFVQmdOVkJBb1REVXhsZENkeklFVnVZM0o1Y0hReEl6QWhCZ05WQkFNVEdreGxkQ2R6SUVWdVkzSjVjSFFnUVhWMGFHOXlhWFI1SUZnek1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbk5NTThGcmxMa2UzY2wwM2c3Tm9ZekRxMXpVbUdTWGh2YjQxOFhDU0w3ZTRTMEVGcTZtZU5RaFk3TEVxeEdpSEM2UGpkZVRtODZkaWNicDVnV0FmMTVHYW4vUFFlR2R4eUdrT2xaSFAvdWFaNldBOFNNeCt5azEzRWlTZFJ4dGE2N25zSGpjQUhKeXNlNmNGNnM1SzY3MUI1VGFZdWN2OWJUeVdhTjhqS2tLUURJWjBaOGgvcFpxNFVtRVVFejlsNllLSHk5djZEbGIyaG9uemhUK1hocSt3M0JydmF3MlZGbjNFSzZCbHNwa0VObldBYTZ4Szh4dVFTWGd2b3BaUEtpQWxLUVRHZE1EUU1jMlBNVGlWRnJxb003aEQ4YkVmd3pCL29ua3hFejB0TnZqai9QSXphcms1TWNXdnhJME5IV1FXTTZyNmhDbTIxQXZBMkgzRGt3SURBUUFCbzRJQmZUQ0NBWGt3RWdZRFZSMFRBUUgvQkFnd0JnRUIvd0lCQURBT0JnTlZIUThCQWY4RUJBTUNBWVl3ZndZSUt3WUJCUVVIQVFFRWN6QnhNRElHQ0NzR0FRVUZCekFCaGlab2RIUndPaTh2YVhOeVp5NTBjblZ6ZEdsa0xtOWpjM0F1YVdSbGJuUnlkWE4wTG1OdmJUQTdCZ2dyQmdFRkJRY3dBb1l2YUhSMGNEb3ZMMkZ3Y0hNdWFXUmxiblJ5ZFhOMExtTnZiUzl5YjI5MGN5OWtjM1J5YjI5MFkyRjRNeTV3TjJNd0h3WURWUjBqQkJnd0ZvQVV4S2V4cEhzc2NmcmI0VXVRZGYvRUZXQ0ZpUkF3VkFZRFZSMGdCRTB3U3pBSUJnWm5nUXdCQWdFd1B3WUxLd1lCQkFHQzN4TUJBUUV3TURBdUJnZ3JCZ0VGQlFjQ0FSWWlhSFIwY0RvdkwyTndjeTV5YjI5MExYZ3hMbXhsZEhObGJtTnllWEIwTG05eVp6QThCZ05WSFI4RU5UQXpNREdnTDZBdGhpdG9kSFJ3T2k4dlkzSnNMbWxrWlc1MGNuVnpkQzVqYjIwdlJGTlVVazlQVkVOQldETkRVa3d1WTNKc01CMEdBMVVkRGdRV0JCU29TbXBqQkgzZHV1YlJPYmVtUldYdjg2anNvVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBM1RQWEVmTmpXRGpkR0JYN0NWVytkbGE1Y0VpbGFVY25lOElrQ0pMeFdoOUtFaWszSkhSUkhHSm91TTJWY0dmbDk2UzhUaWhSelp2b3JvZWQ2dGk2V3FFQm10enczV29kYXRnK1Z5T2VwaDRFWXByLzF3WEt0eDgvd0FwSXZKU3d0bVZpNE1GVTVhTXFyU0RFNmVhNzNNajJ0Y015bzVqTWQ2am1lV1VISzhzby9qb1dVb0hPVWd3dVg0UG8xUVl6KzNkc3prRHFNcDRma2x4QndYUnNXMTBLWHpQTVRaK3NPUEF2ZXl4aW5kbWprVzhsR3krUXNSbEdQZlorRzZaNmg3bWplbTBZK2lXbGtZY1Y0UElXTDFpd0JpOHNhQ2JHUzVqTjJwOE0rWCtRN1VOS0VrUk9iM042S09xa3FtNTdUSDJIM2VESkFrU25oNi9ETkZ1MFFnPT0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQ0KTUlJRFNqQ0NBaktnQXdJQkFnSVFSSyt3Z05hako3cUpNRG1HTHZoQWF6QU5CZ2txaGtpRzl3MEJBUVVGQURBL01TUXdJZ1lEVlFRS0V4dEVhV2RwZEdGc0lGTnBaMjVoZEhWeVpTQlVjblZ6ZENCRGJ5NHhGekFWQmdOVkJBTVREa1JUVkNCU2IyOTBJRU5CSUZnek1CNFhEVEF3TURrek1ESXhNVEl4T1ZvWERUSXhNRGt6TURFME1ERXhOVm93UHpFa01DSUdBMVVFQ2hNYlJHbG5hWFJoYkNCVGFXZHVZWFIxY21VZ1ZISjFjM1FnUTI4dU1SY3dGUVlEVlFRREV3NUVVMVFnVW05dmRDQkRRU0JZTXpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTit2NlpkUUNJTlh0TXhpWmZhUWd1ekgweXhyTU1wYjdObkRmY2RBd1JnVWkrRG9NM1pKS3VNL0lVbVRyRTRPcno1SXkyWHUvTk1oRDJYU0t0a3lqNHpsOTNld0VudTFsY0NKbzZtNjdYTXVlZ3dHTW9PaWZvb1VNTTBSb09FcU9MbDVDakg5VUwyQVpkKzNVV09EeU9LSVllcExZWUhzVW11NW91SkxHaWlmU0tPZUROb0pqajRYTGg3ZElOOWJ4aXFLcXk2OWNLM0ZDeG9sa0hSeXhYdHFxelRXTUluLzVXZ1RlMVFMeU5hdTdGcWNraDQ5WkxPTXh0Ky95VUZ3N0JaeTFTYnNPRlU1UTlEOC9SaGNRUEdYNjlXYW00MGR1dG9sdWNiWTM4RVZBanFyMm03eFBpNzFYQWljUE5hRGFlUVFteGtxdGlsWDQrVTltNS93QWwwQ0F3RUFBYU5DTUVBd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUNBUVl3SFFZRFZSME9CQllFRk1TbnNhUjdMSEg2MitGTGtIWC94QlZnaFlrUU1BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQ2pHaXliRndCY3FSN3VLR1kzT3IrRHh6OUx3d21nbFNCZDQ5bFpSTkkrRFQ2OWlrdWdkQi9PRUlLY2RCb2RmcGdhM2NzVFM3TWdST1NSNmN6OGZhWGJhdVgrNXYzZ1R0MjNBRHExY0Vtdjh1WHJBdkhSQW9zWnk1UTZYa2pFR0I1WUdWOGVBbHJ3RFBHeHJhbmNXWWFMYnVtUjlZYksrcmxtTTZwWlc4N2lweFp6UjhzcnpKbXdOMGpQNDFaTDljOFBESEl5aDhid1JMdFRjbTFEOVNaSW1sSm50MWlyL21kMmNYamJEYUpXRkJNNUpER0ZvcWdDV2pCSDRkMVFCN3dDQ1pBQTYyUmpZSnNXdklqSkV1YlNmWkdMK1QweWpXVzA2WHl4VjNicXhiWW9PYjhWWlJ6STluZVdhZ3FOZHd2WWtRc0VqZ2ZiS2JZSzdwMkNOVFVRDQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tDQo=" - p = __local2__ { - __local4__ = data.generated.certs - crypto.x509.parse_certificates(__local4__, __local3__) - __local0__ = __local3__ - __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] - } - note: cryptox509parsecertificates/PEM, chain, b64 - query: data.generated.p = x - want_result: - - x: - - openpolicyagent.org - - Let's Encrypt Authority X3 - - DST Root CA X3 + p = __local2__ { + __local4__ = data.generated.certs + crypto.x509.parse_certificates(__local4__, __local3__) + __local0__ = __local3__ + __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] + } + note: cryptox509parsecertificates/PEM, chain, b64 + query: data.generated.p = x + want_result: + - x: + - openpolicyagent.org + - Let's Encrypt Authority X3 + - DST Root CA X3 diff --git a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0122.yaml b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0122.yaml index 61e6dc8279..e7e0d610b8 100644 --- a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0122.yaml +++ b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0122.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - certs = "-----BEGIN CERTIFICATE-----\nMIIFdzCCBF+gAwIBAgISA3NriAEus/+cvflvhVQOW5zTMA0GCSqGSIb3DQEBCwUAMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQDExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA3MTAxNjAwMzBaFw0yMDEwMDgxNjAwMzBaMB4xHDAaBgNVBAMTE29wZW5wb2xpY3lhZ2VudC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyy8HZXVTJ2TSHXYnoL+CKYpo4wz1wowUcdt/XBgN08f37NxaNk+VAj8GD2s6zhoHLShyYS2PVosf7xumvyG914PLpIHO9WmCaZMqwEyvMM/VE9dBkKfaTo78BT6aXyJmnkjpeFmBOGs3uP5bUARj3Onnr7Aos9j45rgrytpelYTMlLi6jVtBv5RIZuMoJ15W252t8eIgsOq57ad0Bobeyy4TuGhveP0V3vUJvI3ibqH5E9cWzI2f8UtoirUNf0J3tcng8JqSOuuzWDYWrRDAzQbJYqKzvVDcN+ptqV7GZ6JuqHhdwgDeqBOsveDbzAAyYSVPJjRWYea8MxlM7OXbtAgMBAAGjggKBMIICfTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFHDweb6KprSvWrw/vR6kwTVpudPtMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wNwYDVR0RBDAwLoITb3BlbnBvbGljeWFnZW50Lm9yZ4IXd3d3Lm9wZW5wb2xpY3lhZ2VudC5vcmcwTAYDVR0gBEUwQzAIBgZngQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcwggEEBgorBgEEAdZ5AgQCBIH1BIHyAPAAdgBep3P531bA57U2SH3QSeAyepGaDIShEhKEGHWWgXFFWAAAAXM5q9vDAAAEAwBHMEUCIQCRHqgrtl07Y6TryfMmQN6TNKRVm1LTy9vI3Mh/krbSQQIgYgVAKwXRoPR+BN1pcJbJv3Aivbh6E7L987rMSEQk5VoAdgCyHgXMi6LNiiBOh2b5K7mKJSBna9r6cOeySVMt74uQXgAAAXM5q9uuAAAEAwBHMEUCIQDdruTutQ/UchckqYQ+2p9mutnrSnnQXa8xLA41YGzZHgIgXXETFbGfns2C7YJ8cDoYYAjmdzMg8k7hKXQGu/KsAb4wDQYJKoZIhvcNAQELBQADggEBAGk9p5ytOaDIPRPk5ImpH1f6f010mULWPV5Pjn6kzMHP9z5ndMz++1NOvHV4GVBCoeuKq1bpFCD+IgA9pcJAEXQ/u4GpmbAKUZzmfMIb89aRgnJp0mx9Y4BBd45ExUWs8w4cfgFZyZUeHvWs1anpAcR2FIZpAVMQCaIgjOt2ddR1xv4acCw+mD/B9oKfGZEUgyIANvpBIDabggLSwFa9OKKXRBVRAafo7Oac21HQU7E3sXphaHZGfn2F27dD/qoqUcLqr4lCc7lNE0YGp6r+aPo9VLcH2V0lN4t+1VbVArwKznsNdcQnwKBetgqvZrgLg4+qjo4yuixJY38XU/b7baU=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0NlowSjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMTGkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EFq6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWAa6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIGCCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNvbTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9kc3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAwVAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcCARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAzMDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwuY3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsFAAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJouM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwuX4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlGPfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ\n-----END CERTIFICATE-----" + certs = "-----BEGIN CERTIFICATE-----\nMIIFdzCCBF+gAwIBAgISA3NriAEus/+cvflvhVQOW5zTMA0GCSqGSIb3DQEBCwUAMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQDExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA3MTAxNjAwMzBaFw0yMDEwMDgxNjAwMzBaMB4xHDAaBgNVBAMTE29wZW5wb2xpY3lhZ2VudC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyy8HZXVTJ2TSHXYnoL+CKYpo4wz1wowUcdt/XBgN08f37NxaNk+VAj8GD2s6zhoHLShyYS2PVosf7xumvyG914PLpIHO9WmCaZMqwEyvMM/VE9dBkKfaTo78BT6aXyJmnkjpeFmBOGs3uP5bUARj3Onnr7Aos9j45rgrytpelYTMlLi6jVtBv5RIZuMoJ15W252t8eIgsOq57ad0Bobeyy4TuGhveP0V3vUJvI3ibqH5E9cWzI2f8UtoirUNf0J3tcng8JqSOuuzWDYWrRDAzQbJYqKzvVDcN+ptqV7GZ6JuqHhdwgDeqBOsveDbzAAyYSVPJjRWYea8MxlM7OXbtAgMBAAGjggKBMIICfTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFHDweb6KprSvWrw/vR6kwTVpudPtMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wNwYDVR0RBDAwLoITb3BlbnBvbGljeWFnZW50Lm9yZ4IXd3d3Lm9wZW5wb2xpY3lhZ2VudC5vcmcwTAYDVR0gBEUwQzAIBgZngQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcwggEEBgorBgEEAdZ5AgQCBIH1BIHyAPAAdgBep3P531bA57U2SH3QSeAyepGaDIShEhKEGHWWgXFFWAAAAXM5q9vDAAAEAwBHMEUCIQCRHqgrtl07Y6TryfMmQN6TNKRVm1LTy9vI3Mh/krbSQQIgYgVAKwXRoPR+BN1pcJbJv3Aivbh6E7L987rMSEQk5VoAdgCyHgXMi6LNiiBOh2b5K7mKJSBna9r6cOeySVMt74uQXgAAAXM5q9uuAAAEAwBHMEUCIQDdruTutQ/UchckqYQ+2p9mutnrSnnQXa8xLA41YGzZHgIgXXETFbGfns2C7YJ8cDoYYAjmdzMg8k7hKXQGu/KsAb4wDQYJKoZIhvcNAQELBQADggEBAGk9p5ytOaDIPRPk5ImpH1f6f010mULWPV5Pjn6kzMHP9z5ndMz++1NOvHV4GVBCoeuKq1bpFCD+IgA9pcJAEXQ/u4GpmbAKUZzmfMIb89aRgnJp0mx9Y4BBd45ExUWs8w4cfgFZyZUeHvWs1anpAcR2FIZpAVMQCaIgjOt2ddR1xv4acCw+mD/B9oKfGZEUgyIANvpBIDabggLSwFa9OKKXRBVRAafo7Oac21HQU7E3sXphaHZGfn2F27dD/qoqUcLqr4lCc7lNE0YGp6r+aPo9VLcH2V0lN4t+1VbVArwKznsNdcQnwKBetgqvZrgLg4+qjo4yuixJY38XU/b7baU=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0NlowSjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMTGkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EFq6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWAa6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIGCCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNvbTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9kc3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAwVAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcCARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAzMDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwuY3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsFAAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJouM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwuX4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlGPfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ\n-----END CERTIFICATE-----" - p = __local2__ { - __local4__ = data.generated.certs - crypto.x509.parse_certificates(__local4__, __local3__) - __local0__ = __local3__ - __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] - } - note: cryptox509parsecertificates/PEM, chain, string - query: data.generated.p = x - want_result: - - x: - - openpolicyagent.org - - Let's Encrypt Authority X3 - - DST Root CA X3 + p = __local2__ { + __local4__ = data.generated.certs + crypto.x509.parse_certificates(__local4__, __local3__) + __local0__ = __local3__ + __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] + } + note: cryptox509parsecertificates/PEM, chain, string + query: data.generated.p = x + want_result: + - x: + - openpolicyagent.org + - Let's Encrypt Authority X3 + - DST Root CA X3 diff --git a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0123.yaml b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0123.yaml index a2f1b89b23..865cfd9c04 100644 --- a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0123.yaml +++ b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0123.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - certs = "YmFkc3RyaW5n" + certs = "YmFkc3RyaW5n" - p = __local2__ { - __local4__ = data.generated.certs - crypto.x509.parse_certificates(__local4__, __local3__) - __local0__ = __local3__ - __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] - } - note: cryptox509parsecertificates/invalid DER or PEM data, b64 - query: data.generated.p = x - want_error: 'x509: malformed certificate' - want_error_code: eval_builtin_error - strict_error: true + p = __local2__ { + __local4__ = data.generated.certs + crypto.x509.parse_certificates(__local4__, __local3__) + __local0__ = __local3__ + __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] + } + note: cryptox509parsecertificates/invalid DER or PEM data, b64 + query: data.generated.p = x + want_error: "x509: malformed certificate" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0124.yaml b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0124.yaml index 3b15d1b1ec..64898922eb 100644 --- a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0124.yaml +++ b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0124.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - certs = "foobar" + certs = "foobar" - p = __local2__ { - __local4__ = data.generated.certs - crypto.x509.parse_certificates(__local4__, __local3__) - __local0__ = __local3__ - __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] - } - note: cryptox509parsecertificates/invalid DER or PEM data, string - query: data.generated.p = x - want_error: illegal base64 - want_error_code: eval_builtin_error - strict_error: true + p = __local2__ { + __local4__ = data.generated.certs + crypto.x509.parse_certificates(__local4__, __local3__) + __local0__ = __local3__ + __local2__ = [__local1__ | __local1__ = __local0__[_].Subject.CommonName] + } + note: cryptox509parsecertificates/invalid DER or PEM data, string + query: data.generated.p = x + want_error: illegal base64 + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-raw-uris.yaml b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-raw-uris.yaml index 131c86da5f..30acb87711 100644 --- a/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-raw-uris.yaml +++ b/test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-raw-uris.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - certs = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUIxekNDQVh5Z0F3SUJBZ0lJZGxpT1dVY1NXM3N3Q2dZSUtvWkl6ajBFQXdJd1BURUxNQWtHQTFVRUJoTUMKUjBJeEVEQU9CZ05WQkFvVEIwVjRZVzF3YkdVeEhEQWFCZ05WQkFVVEV6RTFPREV4TnpnNU56UTJPRFkxTmpneQpOalF3SUJjTk1qTXhNVEl3TVRZMU5USTRXaGdQTWpFeU1qRXdNamN4TmpVMU1qaGFNRDB4Q3pBSkJnTlZCQVlUCkFrZENNUkF3RGdZRFZRUUtFd2RGZUdGdGNHeGxNUnd3R2dZRFZRUUZFeE00TlRJM056SXlOREE0TlRJeE5qVXoKTVRFMU1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXp0UDNrQnNpQXY4UUF5eWxUalJZSFlWegpjWTB5YmpBdC9VbWpZb3Fxb0o4SEtIdXF1ckRaUmVwa05qUXdwV3pmZndZZ0xaNk42SisyVUlPdlZ0TDZEcU5rCk1HSXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0QKQVRBTUJnTlZIUk1CQWY4RUFqQUFNQ01HQTFVZEVRUWNNQnFHR0hOd2FXWm1aVG92TDJWNFlXMXdiR1V1WTI5dApMMjl3WVRBS0JnZ3Foa2pPUFFRREFnTkpBREJHQWlFQXlRNDhPd25lTHkzMjZqYitEUjd5RjJhcS94Wnl1cW9qCitUU3ZLVVB5NEU0Q0lRQ0VMUlp3K0dWTjhJR0drVGV4MGxxTDNxY21mWldJbm15VitrbnQ0d3p3L3c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + certs = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUIxekNDQVh5Z0F3SUJBZ0lJZGxpT1dVY1NXM3N3Q2dZSUtvWkl6ajBFQXdJd1BURUxNQWtHQTFVRUJoTUMKUjBJeEVEQU9CZ05WQkFvVEIwVjRZVzF3YkdVeEhEQWFCZ05WQkFVVEV6RTFPREV4TnpnNU56UTJPRFkxTmpneQpOalF3SUJjTk1qTXhNVEl3TVRZMU5USTRXaGdQTWpFeU1qRXdNamN4TmpVMU1qaGFNRDB4Q3pBSkJnTlZCQVlUCkFrZENNUkF3RGdZRFZRUUtFd2RGZUdGdGNHeGxNUnd3R2dZRFZRUUZFeE00TlRJM056SXlOREE0TlRJeE5qVXoKTVRFMU1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXp0UDNrQnNpQXY4UUF5eWxUalJZSFlWegpjWTB5YmpBdC9VbWpZb3Fxb0o4SEtIdXF1ckRaUmVwa05qUXdwV3pmZndZZ0xaNk42SisyVUlPdlZ0TDZEcU5rCk1HSXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0QKQVRBTUJnTlZIUk1CQWY4RUFqQUFNQ01HQTFVZEVRUWNNQnFHR0hOd2FXWm1aVG92TDJWNFlXMXdiR1V1WTI5dApMMjl3WVRBS0JnZ3Foa2pPUFFRREFnTkpBREJHQWlFQXlRNDhPd25lTHkzMjZqYitEUjd5RjJhcS94Wnl1cW9qCitUU3ZLVVB5NEU0Q0lRQ0VMUlp3K0dWTjhJR0drVGV4MGxxTDNxY21mWldJbm15VitrbnQ0d3p3L3c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" - uri_strings = crypto.x509.parse_certificates(certs)[0].URIStrings - note: cryptox509parsecertificates/uri_strings - query: data.generated.uri_strings = x - want_result: - - x: - - spiffe://example.com/opa -- data: - modules: - - | - package generated - - certs = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWJPZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRMEZBREJDTVFzd0NRWURWUVFHRXdKMWN6RUwKTUFrR0ExVUVDQXdDUTBFeEVEQU9CZ05WQkFvTUIwVjRZVzF3YkdVeEZEQVNCZ05WQkFNTUMyVjRZVzF3YkdVdQpZMjl0TUI0WERUSXpNVEV5T1RFMk5ESXdPRm9YRFRJME1URXlPREUyTkRJd09Gb3dRakVMTUFrR0ExVUVCaE1DCmRYTXhDekFKQmdOVkJBZ01Ba05CTVJBd0RnWURWUVFLREFkRmVHRnRjR3hsTVJRd0VnWURWUVFEREF0bGVHRnQKY0d4bExtTnZiVENCbnpBTkJna3Foa2lHOXcwQkFRRUZBQU9CalFBd2dZa0NnWUVBempOT1puY05DL25MdEZQYwpUNnNlSzZ0ditTbU9GaGk3NVBKRm9sQ0dFZUFiTHJHTzhaUmR2cXY2OStTTk41MUhrNFBJUDUrejk4aHZIdWJQClVtcGdOMVdVM3FKK2tOVTJXL3poR3pLMTdIL2c3YjVJTjRHZmx3bXJlRWZscnRicnZKSGRlRkVhVGtmYnVld0YKVmZvLzRiaG0yYUthczNHcUo3RnlBNDVxeVUwQ0F3RUFBYU5RTUU0d0hRWURWUjBPQkJZRUZOUStDMUVOK0dSYwpGS1dyTll6ZWdnbFc3TE9lTUI4R0ExVWRJd1FZTUJhQUZOUStDMUVOK0dSY0ZLV3JOWXplZ2dsVzdMT2VNQXdHCkExVWRFd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVOQlFBRGdZRUF1cXdVVWVXbTFJaURRbmphK1hqd1VCaXUKQXBYWEx5NlFZRG9jUkhoRHlJS3BKSWRJOXltNi9RcVhkOFQ2WGlYUTJDbFNJbGxBSTByQWJYNUZvYzNxaWRkUAp0d2huT1pxd3NZdFhUNy9XOHFLSm5FVnhZckJuRmZSdk9SU3ZlOEtwSDErVHQ2elZEYlJ5bENacTR1TTNrZXN2CmJabXlVdlM1bldBVm44ZmhFdUU9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" - - uri_strings = crypto.x509.parse_certificates(certs)[0].URIStrings - note: cryptox509parsecertificates/uri_strings_no_uris - query: data.generated.uri_strings = x - want_result: - - x: null + uri_strings = crypto.x509.parse_certificates(certs)[0].URIStrings + note: cryptox509parsecertificates/uri_strings + query: data.generated.uri_strings = x + want_result: + - x: + - spiffe://example.com/opa + - data: + modules: + - | + package generated + + certs = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWJPZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRMEZBREJDTVFzd0NRWURWUVFHRXdKMWN6RUwKTUFrR0ExVUVDQXdDUTBFeEVEQU9CZ05WQkFvTUIwVjRZVzF3YkdVeEZEQVNCZ05WQkFNTUMyVjRZVzF3YkdVdQpZMjl0TUI0WERUSXpNVEV5T1RFMk5ESXdPRm9YRFRJME1URXlPREUyTkRJd09Gb3dRakVMTUFrR0ExVUVCaE1DCmRYTXhDekFKQmdOVkJBZ01Ba05CTVJBd0RnWURWUVFLREFkRmVHRnRjR3hsTVJRd0VnWURWUVFEREF0bGVHRnQKY0d4bExtTnZiVENCbnpBTkJna3Foa2lHOXcwQkFRRUZBQU9CalFBd2dZa0NnWUVBempOT1puY05DL25MdEZQYwpUNnNlSzZ0ditTbU9GaGk3NVBKRm9sQ0dFZUFiTHJHTzhaUmR2cXY2OStTTk41MUhrNFBJUDUrejk4aHZIdWJQClVtcGdOMVdVM3FKK2tOVTJXL3poR3pLMTdIL2c3YjVJTjRHZmx3bXJlRWZscnRicnZKSGRlRkVhVGtmYnVld0YKVmZvLzRiaG0yYUthczNHcUo3RnlBNDVxeVUwQ0F3RUFBYU5RTUU0d0hRWURWUjBPQkJZRUZOUStDMUVOK0dSYwpGS1dyTll6ZWdnbFc3TE9lTUI4R0ExVWRJd1FZTUJhQUZOUStDMUVOK0dSY0ZLV3JOWXplZ2dsVzdMT2VNQXdHCkExVWRFd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVOQlFBRGdZRUF1cXdVVWVXbTFJaURRbmphK1hqd1VCaXUKQXBYWEx5NlFZRG9jUkhoRHlJS3BKSWRJOXltNi9RcVhkOFQ2WGlYUTJDbFNJbGxBSTByQWJYNUZvYzNxaWRkUAp0d2huT1pxd3NZdFhUNy9XOHFLSm5FVnhZckJuRmZSdk9SU3ZlOEtwSDErVHQ2elZEYlJ5bENacTR1TTNrZXN2CmJabXlVdlM1bldBVm44ZmhFdUU9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" + + uri_strings = crypto.x509.parse_certificates(certs)[0].URIStrings + note: cryptox509parsecertificates/uri_strings_no_uris + query: data.generated.uri_strings = x + want_result: + - x: null diff --git a/test/cases/testdata/cryptox509parsekeypair/test-cryptox509parsekeypairs-0118.yaml b/test/cases/testdata/cryptox509parsekeypair/test-cryptox509parsekeypairs-0118.yaml index d7bc4498d5..2e27c9be30 100644 --- a/test/cases/testdata/cryptox509parsekeypair/test-cryptox509parsekeypairs-0118.yaml +++ b/test/cases/testdata/cryptox509parsekeypair/test-cryptox509parsekeypairs-0118.yaml @@ -1,3 +1,4 @@ +--- cases: - note: cryptoX509ParseKeyPairs/PEM_encoded_string_cert_and_key query: data.test.p = x @@ -5,9 +6,10 @@ cases: - | package test p := crypto.x509.parse_keypair(input.cert, input.key)["Certificate"][0] - input: { - cert: "-----BEGIN CERTIFICATE-----\nMIIEszCCApsCFDPRm4sTNZqiH601E6E6pEaJaCKqMA0GCSqGSIb3DQEBCwUAMBYx\nFDASBgNVBAMMC2V4YW1wbGUuY29tMB4XDTIzMDUxMjEyMDIxNFoXDTIzMDYxMTEy\nMDIxNFowFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQDTcNASD17ohP3V14LMUIkFwAeeeniSXy4Pl3EqIgVpt9ul\n2IZiTm4JOYSgQ681bjt1OdwCkBf2Cg62DUyHMMwwnbaznN/Y5piYlaS33XCvcNpM\nOWxwA4Z5Q0jNAshBExp8EzjEojbIUoeSncAP9jtOO/NArhLq+XodmONLqBG8KmZc\n2uiAeJ7ZjTpOckASYPYy7tUc4Ha3XUV0SoF/+0SJrXYOtpyMuMxwks6jMbpacmZn\njFIe8m2xH97s5inmHkzjBVKbpBQQHROP6A61VOrH9FrJRiACZ440zFJ1CGlXZau4\noJgs9S1YRDI4W2Ha1WIYLpUBEMYXVYyn4swTBj42HqpSmfppOoR2g1d/AjxpFVAk\nPLrict/nszhTIkEUE39vJh4HuytT49ss/cp4KokxBjLz7LmTUEzxJS8dB9714KzO\nhFRHnpap0onU7Yb+Yz8/21bZL4AEL1d2Jg48jRET1Mrl9GOnWjzo7JxioUsbLcOo\ny8Qcu2L87BQZqHCVpq6TcJKfPgh9t7y1AHvAfoXJdGSwimCZXuR4VEA3NJAHgPOw\nLypB+dukzseWLdN+e7YOYqyWfjJg4aQmCx+nr866/QlQ4mrEBTkBsDOO5tEsKugI\nredu+lL6z9QFdmeQpoC+s6JKnV29KHZXNDBZ1gnXOyA6lIBjjFjZqnkwT1ToHwID\nAQABMA0GCSqGSIb3DQEBCwUAA4ICAQC8v5BIEooDSe5Kpzwsh9QLK7Ip33v4VHo+\nq82DRjAXiosFoaJ1dg+hwXOUo5VPSOqWCPNYRHDabuX4oiZAGPA9O5lTKQ/PQS4y\nYIsD9XgeuDllBo3Y/uBwjoFFAD169fYMmZgGQ/PCdFS9nrYduPAIzNnsip+Z+XRK\nqLwm83H/nKKgVvbGprNcivG3c8H42CKQ7aqDkEGuSG9EVRnQOMaI7ILMx/oj33Mk\nuJ/21z4AHj7ads3dUF4syEBo5gWCAiBd+g1E/BkFnn+G+oOYo7c12dB+r6rbgrA0\nBk+bW0NvU2ApP/LRRGaJD4wW2UoAklL618+CRWNtXdT+WeKIPlrEdC/0yzU5t6sA\nII+PfvbeWQfL5CssbWhkTbJFt3JKTrIMc9cMjNcqeS+bAELuI16d4CZ5TlmZZeMd\n1WCv6R3YifkR9IogZhix20nPCF1mfo7Q0XAywkx8pPAC4n6uYStU9YobNAGlWXz+\nYbbJDf9r9au88Gu6xFf3eETKu2tJsQgVYBmXic85+FoV45qBI5YZvqiX9XZtWXw2\n391fW+NdK01Jc0tqtADubaF6D4ncnriufqcz+70O0p7CzPbTMtUsPFxcfqZ6x1KX\ngP1TgZM++PuYjHEyCFhHQBz9cQlxPdW4alaDYBnnKvLZXDOAXCWVWS6SXa5tkU3n\nk9i0HC1bhg==\n-----END CERTIFICATE-----\n", - key: "-----BEGIN PRIVATE KEY-----\nMIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDTcNASD17ohP3V\n14LMUIkFwAeeeniSXy4Pl3EqIgVpt9ul2IZiTm4JOYSgQ681bjt1OdwCkBf2Cg62\nDUyHMMwwnbaznN/Y5piYlaS33XCvcNpMOWxwA4Z5Q0jNAshBExp8EzjEojbIUoeS\nncAP9jtOO/NArhLq+XodmONLqBG8KmZc2uiAeJ7ZjTpOckASYPYy7tUc4Ha3XUV0\nSoF/+0SJrXYOtpyMuMxwks6jMbpacmZnjFIe8m2xH97s5inmHkzjBVKbpBQQHROP\n6A61VOrH9FrJRiACZ440zFJ1CGlXZau4oJgs9S1YRDI4W2Ha1WIYLpUBEMYXVYyn\n4swTBj42HqpSmfppOoR2g1d/AjxpFVAkPLrict/nszhTIkEUE39vJh4HuytT49ss\n/cp4KokxBjLz7LmTUEzxJS8dB9714KzOhFRHnpap0onU7Yb+Yz8/21bZL4AEL1d2\nJg48jRET1Mrl9GOnWjzo7JxioUsbLcOoy8Qcu2L87BQZqHCVpq6TcJKfPgh9t7y1\nAHvAfoXJdGSwimCZXuR4VEA3NJAHgPOwLypB+dukzseWLdN+e7YOYqyWfjJg4aQm\nCx+nr866/QlQ4mrEBTkBsDOO5tEsKugIredu+lL6z9QFdmeQpoC+s6JKnV29KHZX\nNDBZ1gnXOyA6lIBjjFjZqnkwT1ToHwIDAQABAoICAAiuKHSdWe2czBjz1IRTyBRK\n2mU4rOuBadAtDPHIXMWGzUclOPsfMihByr6TmMVORbWdzvjx9nHc3ta9fAdOywsx\n5lbAWXY7nUciWZVMy3wAW43mi5uboXEoAHyeIR9+y8cNOPblm+8kaDluLXzaRHwF\nPQrKOq+X11oQtUAdYcECUpp8SDBCA291+09OJHA8t87GfExHsMf9VcUc6+0XoSwv\nyVl4SLwEOCxk8oPDnl1pNegJXDO2CyfK4amDF3RBiTGGveny1foFX5C4W6Y5Grxj\nvThnHxhKLQ3g13/DfSOf4mldenHaDOcDQbaLldxYh0Lr4qUdDazWj8QyrOMZDgOy\nnNnj9zuaI3Hw+zaGm6SQ4pG/s+IujUxyc0yNjGE5R/PswXBkpIR23w5hY7xyr0Eo\n/Gb+jAumKxu/QA1GWY9DL/YKbG0sHJlG8BMzMls5YlWoOhcqw3DHJvLSpI4GlQba\nhC741lNpCrf5FsyDu4ZOVfihDgGq3WteuEZ5vNBgLpateuAmCNjmNSDa/bK1cqBh\nUlgPbFTEYBSklgt8oEEfhvn3ZNvxgRMCFu9USXRQeMIbB+BVQnarWOTYhKL5dqAh\nuYCQprMRuu4FowAFYb37jEBktVAuJDJE4qwqYkLdu2g35SjbUgIJUn3oNDT7sgHs\nSjlWT6005qL6dkjINWXZAoIBAQDXdtWq/jA3RswzQdLewjzaJR9wTbl8lV699ei6\n8HUW9fr55mHyVewRihKNKFF0XnSAKBEqosyZ7joOdMwon0XmCZfJrjxTca4zhBtl\nk1ku9mnRhck0ztc4OUKGyvb9oJ/PlN1CrU/hBwYVjnbWDVtufq/xGxeSzWx2zad/\nb824leawE4c9ozdp1cGtx0iwYAGjjA4BmCQIXiNcYa8qKU6SmHtD95pIbZUvqyOg\ndT8TRcvt4jySibZtpWRF1NczNsnPa9TV6vtJqlZmF+vB1XZVLW0n/CyhAX8pb6qG\ncImaViA4V6/I1VzCYR6FD+vPL8hv8G36rEpwAHLEHWUcvkmHAoIBAQD7ODKXb5XL\nt3L9hxcOYrOshqKUCaT+52/Qmnntb0foxs5CcqBOPerOOTJgEPfn0NW3Ij8zaInk\nNSSSZNJVG3jpWLzOTNUN/Cyep+Tkt50LyvMBa4AUUx3HtkDKqaL789A3WfQ8LJbO\n4WRPM9QNFLxh8uitHkVZY0FgI11eZunNv7kplYltrOGJIVGa3u7rLxLw/EeX7BLi\n1lnaQobVwrVWD1NU1J16PdGp3lKPk8J7y2fSj+UQW76ABopzFayO5nqi06ULMIDm\nwVweYnYOBvNqqdG28u3ob15WCzH4WFd/RYDorXD3Xs9P0LEf9pf/PZ7elU/PEDse\njHXUNSPIVjKpAoIBABqjAEtBXWiYAgqcKpuLW8aELFzP3wx90tadHgZuT6tlAX//\ncUBqSuLoNN7qixddzf1B9s1UjwLApsC+w7aJ6jREH1W5io+uUCDiRhjKnI3nvLFA\nXt1+bLDwsz7CvMIiJ1+cQbZKgsOJAMGNeTeBMzp3wvyFouZtKumNBxYEFmSpc3l1\nEJUYJnOZD3aSWnQjilBTsi+URXAbYze6g9MshCAvZZ3DcHlfwr+/4omltQSG7m0c\nOOzMxZbMiZbwdyJHta9E320KvcIfosrATk8KOrTRBtuYm1PUQYo32dcA9qHz38vX\nW03ywqLtKr68dySH/bmI+a+xuQobpBSGpcdl5uUCggEAIZBckgcCiHk2D9FgrzdY\nshA64HR5auUY91HsQGDBxsPpAs+1wz5ahLr3lAYwWPR52UHmF8Q7yBWhkT2PLHfD\nK8oDT7zMKlYqz/e2iShO/yhaVzI5pn2EWQ5skacgc3EbvIl0LCX48CME9+AA0M6Y\nbK27kIWe1laAgYu4CcjOLAMVhgzIk7KpX1zoPjzSxvE/IptSJWYRD+V7k8GXqi+d\ncqYRiB/v+kkQHhXqCey/6zI96M/41rqrNQeqr72RlHYOpHqKbnhIgIwM9rJI+47K\nLtIJhtvmFUvr2qscPgXvir2Kf4vMsAAmyo8jWxXjMOLWuv5P72ZHv8kcZQHEihua\nIQKCAQEArirbu/1dp/WTPdzhDjRRup8zLHXNzdm1WYCx6NSdouZyWpsqjcJEIKkj\nWSv68hF4wp647eKU3/a27lungqCAKFpKzr1DptvXIJ9iQ53mZ+dL9JYl9hmowtWY\nrrRVLmaroKOvSVgnFRmKm5IEOTmaZhE20F4l0tFa4gSdTgbMSkgO3jvlw5nxte0Q\nE22gLpwhfX+YpbOgMETZ/0aH/MIdwJeyYm3GAhwVMyRnQztz/P8U0irS3GaNeEXc\nLYpsx8F42L9P11OzEw+82DV2XzoHKZUYnGngXs6qByUeuGDTb0daDjOK5on6eNKL\nAj0c+XArCS87P4iflF9maJ3Tk/NfaA==\n-----END PRIVATE KEY-----\n" - } + input: + { + cert: "-----BEGIN CERTIFICATE-----\nMIIEszCCApsCFDPRm4sTNZqiH601E6E6pEaJaCKqMA0GCSqGSIb3DQEBCwUAMBYx\nFDASBgNVBAMMC2V4YW1wbGUuY29tMB4XDTIzMDUxMjEyMDIxNFoXDTIzMDYxMTEy\nMDIxNFowFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQDTcNASD17ohP3V14LMUIkFwAeeeniSXy4Pl3EqIgVpt9ul\n2IZiTm4JOYSgQ681bjt1OdwCkBf2Cg62DUyHMMwwnbaznN/Y5piYlaS33XCvcNpM\nOWxwA4Z5Q0jNAshBExp8EzjEojbIUoeSncAP9jtOO/NArhLq+XodmONLqBG8KmZc\n2uiAeJ7ZjTpOckASYPYy7tUc4Ha3XUV0SoF/+0SJrXYOtpyMuMxwks6jMbpacmZn\njFIe8m2xH97s5inmHkzjBVKbpBQQHROP6A61VOrH9FrJRiACZ440zFJ1CGlXZau4\noJgs9S1YRDI4W2Ha1WIYLpUBEMYXVYyn4swTBj42HqpSmfppOoR2g1d/AjxpFVAk\nPLrict/nszhTIkEUE39vJh4HuytT49ss/cp4KokxBjLz7LmTUEzxJS8dB9714KzO\nhFRHnpap0onU7Yb+Yz8/21bZL4AEL1d2Jg48jRET1Mrl9GOnWjzo7JxioUsbLcOo\ny8Qcu2L87BQZqHCVpq6TcJKfPgh9t7y1AHvAfoXJdGSwimCZXuR4VEA3NJAHgPOw\nLypB+dukzseWLdN+e7YOYqyWfjJg4aQmCx+nr866/QlQ4mrEBTkBsDOO5tEsKugI\nredu+lL6z9QFdmeQpoC+s6JKnV29KHZXNDBZ1gnXOyA6lIBjjFjZqnkwT1ToHwID\nAQABMA0GCSqGSIb3DQEBCwUAA4ICAQC8v5BIEooDSe5Kpzwsh9QLK7Ip33v4VHo+\nq82DRjAXiosFoaJ1dg+hwXOUo5VPSOqWCPNYRHDabuX4oiZAGPA9O5lTKQ/PQS4y\nYIsD9XgeuDllBo3Y/uBwjoFFAD169fYMmZgGQ/PCdFS9nrYduPAIzNnsip+Z+XRK\nqLwm83H/nKKgVvbGprNcivG3c8H42CKQ7aqDkEGuSG9EVRnQOMaI7ILMx/oj33Mk\nuJ/21z4AHj7ads3dUF4syEBo5gWCAiBd+g1E/BkFnn+G+oOYo7c12dB+r6rbgrA0\nBk+bW0NvU2ApP/LRRGaJD4wW2UoAklL618+CRWNtXdT+WeKIPlrEdC/0yzU5t6sA\nII+PfvbeWQfL5CssbWhkTbJFt3JKTrIMc9cMjNcqeS+bAELuI16d4CZ5TlmZZeMd\n1WCv6R3YifkR9IogZhix20nPCF1mfo7Q0XAywkx8pPAC4n6uYStU9YobNAGlWXz+\nYbbJDf9r9au88Gu6xFf3eETKu2tJsQgVYBmXic85+FoV45qBI5YZvqiX9XZtWXw2\n391fW+NdK01Jc0tqtADubaF6D4ncnriufqcz+70O0p7CzPbTMtUsPFxcfqZ6x1KX\ngP1TgZM++PuYjHEyCFhHQBz9cQlxPdW4alaDYBnnKvLZXDOAXCWVWS6SXa5tkU3n\nk9i0HC1bhg==\n-----END CERTIFICATE-----\n", + key: "-----BEGIN PRIVATE KEY-----\nMIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDTcNASD17ohP3V\n14LMUIkFwAeeeniSXy4Pl3EqIgVpt9ul2IZiTm4JOYSgQ681bjt1OdwCkBf2Cg62\nDUyHMMwwnbaznN/Y5piYlaS33XCvcNpMOWxwA4Z5Q0jNAshBExp8EzjEojbIUoeS\nncAP9jtOO/NArhLq+XodmONLqBG8KmZc2uiAeJ7ZjTpOckASYPYy7tUc4Ha3XUV0\nSoF/+0SJrXYOtpyMuMxwks6jMbpacmZnjFIe8m2xH97s5inmHkzjBVKbpBQQHROP\n6A61VOrH9FrJRiACZ440zFJ1CGlXZau4oJgs9S1YRDI4W2Ha1WIYLpUBEMYXVYyn\n4swTBj42HqpSmfppOoR2g1d/AjxpFVAkPLrict/nszhTIkEUE39vJh4HuytT49ss\n/cp4KokxBjLz7LmTUEzxJS8dB9714KzOhFRHnpap0onU7Yb+Yz8/21bZL4AEL1d2\nJg48jRET1Mrl9GOnWjzo7JxioUsbLcOoy8Qcu2L87BQZqHCVpq6TcJKfPgh9t7y1\nAHvAfoXJdGSwimCZXuR4VEA3NJAHgPOwLypB+dukzseWLdN+e7YOYqyWfjJg4aQm\nCx+nr866/QlQ4mrEBTkBsDOO5tEsKugIredu+lL6z9QFdmeQpoC+s6JKnV29KHZX\nNDBZ1gnXOyA6lIBjjFjZqnkwT1ToHwIDAQABAoICAAiuKHSdWe2czBjz1IRTyBRK\n2mU4rOuBadAtDPHIXMWGzUclOPsfMihByr6TmMVORbWdzvjx9nHc3ta9fAdOywsx\n5lbAWXY7nUciWZVMy3wAW43mi5uboXEoAHyeIR9+y8cNOPblm+8kaDluLXzaRHwF\nPQrKOq+X11oQtUAdYcECUpp8SDBCA291+09OJHA8t87GfExHsMf9VcUc6+0XoSwv\nyVl4SLwEOCxk8oPDnl1pNegJXDO2CyfK4amDF3RBiTGGveny1foFX5C4W6Y5Grxj\nvThnHxhKLQ3g13/DfSOf4mldenHaDOcDQbaLldxYh0Lr4qUdDazWj8QyrOMZDgOy\nnNnj9zuaI3Hw+zaGm6SQ4pG/s+IujUxyc0yNjGE5R/PswXBkpIR23w5hY7xyr0Eo\n/Gb+jAumKxu/QA1GWY9DL/YKbG0sHJlG8BMzMls5YlWoOhcqw3DHJvLSpI4GlQba\nhC741lNpCrf5FsyDu4ZOVfihDgGq3WteuEZ5vNBgLpateuAmCNjmNSDa/bK1cqBh\nUlgPbFTEYBSklgt8oEEfhvn3ZNvxgRMCFu9USXRQeMIbB+BVQnarWOTYhKL5dqAh\nuYCQprMRuu4FowAFYb37jEBktVAuJDJE4qwqYkLdu2g35SjbUgIJUn3oNDT7sgHs\nSjlWT6005qL6dkjINWXZAoIBAQDXdtWq/jA3RswzQdLewjzaJR9wTbl8lV699ei6\n8HUW9fr55mHyVewRihKNKFF0XnSAKBEqosyZ7joOdMwon0XmCZfJrjxTca4zhBtl\nk1ku9mnRhck0ztc4OUKGyvb9oJ/PlN1CrU/hBwYVjnbWDVtufq/xGxeSzWx2zad/\nb824leawE4c9ozdp1cGtx0iwYAGjjA4BmCQIXiNcYa8qKU6SmHtD95pIbZUvqyOg\ndT8TRcvt4jySibZtpWRF1NczNsnPa9TV6vtJqlZmF+vB1XZVLW0n/CyhAX8pb6qG\ncImaViA4V6/I1VzCYR6FD+vPL8hv8G36rEpwAHLEHWUcvkmHAoIBAQD7ODKXb5XL\nt3L9hxcOYrOshqKUCaT+52/Qmnntb0foxs5CcqBOPerOOTJgEPfn0NW3Ij8zaInk\nNSSSZNJVG3jpWLzOTNUN/Cyep+Tkt50LyvMBa4AUUx3HtkDKqaL789A3WfQ8LJbO\n4WRPM9QNFLxh8uitHkVZY0FgI11eZunNv7kplYltrOGJIVGa3u7rLxLw/EeX7BLi\n1lnaQobVwrVWD1NU1J16PdGp3lKPk8J7y2fSj+UQW76ABopzFayO5nqi06ULMIDm\nwVweYnYOBvNqqdG28u3ob15WCzH4WFd/RYDorXD3Xs9P0LEf9pf/PZ7elU/PEDse\njHXUNSPIVjKpAoIBABqjAEtBXWiYAgqcKpuLW8aELFzP3wx90tadHgZuT6tlAX//\ncUBqSuLoNN7qixddzf1B9s1UjwLApsC+w7aJ6jREH1W5io+uUCDiRhjKnI3nvLFA\nXt1+bLDwsz7CvMIiJ1+cQbZKgsOJAMGNeTeBMzp3wvyFouZtKumNBxYEFmSpc3l1\nEJUYJnOZD3aSWnQjilBTsi+URXAbYze6g9MshCAvZZ3DcHlfwr+/4omltQSG7m0c\nOOzMxZbMiZbwdyJHta9E320KvcIfosrATk8KOrTRBtuYm1PUQYo32dcA9qHz38vX\nW03ywqLtKr68dySH/bmI+a+xuQobpBSGpcdl5uUCggEAIZBckgcCiHk2D9FgrzdY\nshA64HR5auUY91HsQGDBxsPpAs+1wz5ahLr3lAYwWPR52UHmF8Q7yBWhkT2PLHfD\nK8oDT7zMKlYqz/e2iShO/yhaVzI5pn2EWQ5skacgc3EbvIl0LCX48CME9+AA0M6Y\nbK27kIWe1laAgYu4CcjOLAMVhgzIk7KpX1zoPjzSxvE/IptSJWYRD+V7k8GXqi+d\ncqYRiB/v+kkQHhXqCey/6zI96M/41rqrNQeqr72RlHYOpHqKbnhIgIwM9rJI+47K\nLtIJhtvmFUvr2qscPgXvir2Kf4vMsAAmyo8jWxXjMOLWuv5P72ZHv8kcZQHEihua\nIQKCAQEArirbu/1dp/WTPdzhDjRRup8zLHXNzdm1WYCx6NSdouZyWpsqjcJEIKkj\nWSv68hF4wp647eKU3/a27lungqCAKFpKzr1DptvXIJ9iQ53mZ+dL9JYl9hmowtWY\nrrRVLmaroKOvSVgnFRmKm5IEOTmaZhE20F4l0tFa4gSdTgbMSkgO3jvlw5nxte0Q\nE22gLpwhfX+YpbOgMETZ/0aH/MIdwJeyYm3GAhwVMyRnQztz/P8U0irS3GaNeEXc\nLYpsx8F42L9P11OzEw+82DV2XzoHKZUYnGngXs6qByUeuGDTb0daDjOK5on6eNKL\nAj0c+XArCS87P4iflF9maJ3Tk/NfaA==\n-----END PRIVATE KEY-----\n", + } want_result: - x: "MIIEszCCApsCFDPRm4sTNZqiH601E6E6pEaJaCKqMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC2V4YW1wbGUuY29tMB4XDTIzMDUxMjEyMDIxNFoXDTIzMDYxMTEyMDIxNFowFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDTcNASD17ohP3V14LMUIkFwAeeeniSXy4Pl3EqIgVpt9ul2IZiTm4JOYSgQ681bjt1OdwCkBf2Cg62DUyHMMwwnbaznN/Y5piYlaS33XCvcNpMOWxwA4Z5Q0jNAshBExp8EzjEojbIUoeSncAP9jtOO/NArhLq+XodmONLqBG8KmZc2uiAeJ7ZjTpOckASYPYy7tUc4Ha3XUV0SoF/+0SJrXYOtpyMuMxwks6jMbpacmZnjFIe8m2xH97s5inmHkzjBVKbpBQQHROP6A61VOrH9FrJRiACZ440zFJ1CGlXZau4oJgs9S1YRDI4W2Ha1WIYLpUBEMYXVYyn4swTBj42HqpSmfppOoR2g1d/AjxpFVAkPLrict/nszhTIkEUE39vJh4HuytT49ss/cp4KokxBjLz7LmTUEzxJS8dB9714KzOhFRHnpap0onU7Yb+Yz8/21bZL4AEL1d2Jg48jRET1Mrl9GOnWjzo7JxioUsbLcOoy8Qcu2L87BQZqHCVpq6TcJKfPgh9t7y1AHvAfoXJdGSwimCZXuR4VEA3NJAHgPOwLypB+dukzseWLdN+e7YOYqyWfjJg4aQmCx+nr866/QlQ4mrEBTkBsDOO5tEsKugIredu+lL6z9QFdmeQpoC+s6JKnV29KHZXNDBZ1gnXOyA6lIBjjFjZqnkwT1ToHwIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQC8v5BIEooDSe5Kpzwsh9QLK7Ip33v4VHo+q82DRjAXiosFoaJ1dg+hwXOUo5VPSOqWCPNYRHDabuX4oiZAGPA9O5lTKQ/PQS4yYIsD9XgeuDllBo3Y/uBwjoFFAD169fYMmZgGQ/PCdFS9nrYduPAIzNnsip+Z+XRKqLwm83H/nKKgVvbGprNcivG3c8H42CKQ7aqDkEGuSG9EVRnQOMaI7ILMx/oj33MkuJ/21z4AHj7ads3dUF4syEBo5gWCAiBd+g1E/BkFnn+G+oOYo7c12dB+r6rbgrA0Bk+bW0NvU2ApP/LRRGaJD4wW2UoAklL618+CRWNtXdT+WeKIPlrEdC/0yzU5t6sAII+PfvbeWQfL5CssbWhkTbJFt3JKTrIMc9cMjNcqeS+bAELuI16d4CZ5TlmZZeMd1WCv6R3YifkR9IogZhix20nPCF1mfo7Q0XAywkx8pPAC4n6uYStU9YobNAGlWXz+YbbJDf9r9au88Gu6xFf3eETKu2tJsQgVYBmXic85+FoV45qBI5YZvqiX9XZtWXw2391fW+NdK01Jc0tqtADubaF6D4ncnriufqcz+70O0p7CzPbTMtUsPFxcfqZ6x1KXgP1TgZM++PuYjHEyCFhHQBz9cQlxPdW4alaDYBnnKvLZXDOAXCWVWS6SXa5tkU3nk9i0HC1bhg==" diff --git a/test/cases/testdata/cryptox509parsekeypair/test-cryptox509parsekeypairs-0119.yaml b/test/cases/testdata/cryptox509parsekeypair/test-cryptox509parsekeypairs-0119.yaml index 634cc73f5d..8b24e15dc2 100644 --- a/test/cases/testdata/cryptox509parsekeypair/test-cryptox509parsekeypairs-0119.yaml +++ b/test/cases/testdata/cryptox509parsekeypair/test-cryptox509parsekeypairs-0119.yaml @@ -1,3 +1,4 @@ +--- cases: - note: cryptoX509ParseKeyPairs/base64_encoded_string_cert_and_key query: data.test.p = x @@ -5,9 +6,10 @@ cases: - | package test p := crypto.x509.parse_keypair(input.cert, input.key)["Certificate"][0] - input: { - cert: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUY3ekNDQTllZ0F3SUJBZ0lVZFJIQStCMC9aZ2tuS1BsQjJmc3dFOThsekFjd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2dZWXhDekFKQmdOVkJBWVRBbGhZTVJJd0VBWURWUVFJREFsVGRHRjBaVTVoYldVeEVUQVBCZ05WQkFjTQpDRU5wZEhsT1lXMWxNUlF3RWdZRFZRUUtEQXREYjIxd1lXNTVUbUZ0WlRFYk1Ca0dBMVVFQ3d3U1EyOXRjR0Z1CmVWTmxZM1JwYjI1T1lXMWxNUjB3R3dZRFZRUUREQlJEYjIxdGIyNU9ZVzFsVDNKSWIzTjBibUZ0WlRBZUZ3MHkKTXpBMU1UQXhNalV4TWpoYUZ3MHpNekExTURjeE1qVXhNamhhTUlHR01Rc3dDUVlEVlFRR0V3SllXREVTTUJBRwpBMVVFQ0F3SlUzUmhkR1ZPWVcxbE1SRXdEd1lEVlFRSERBaERhWFI1VG1GdFpURVVNQklHQTFVRUNnd0xRMjl0CmNHRnVlVTVoYldVeEd6QVpCZ05WQkFzTUVrTnZiWEJoYm5sVFpXTjBhVzl1VG1GdFpURWRNQnNHQTFVRUF3d1UKUTI5dGJXOXVUbUZ0WlU5eVNHOXpkRzVoYldVd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJSwpBb0lDQVFDM045anZpY21LcEdkMVAzcFhlQStNb2lkZE5qSjV2TTEzS3FhVGMxMjltY21ISHRJcmpHbmhvTHJOClNMV2NMR0tOQmJzQk5pNWxvcTQxc0pvZ3ltTnhVc3hRUUVyWG41RGlFbkVRZjFCcStuU0d6SWRHbWJtSlZXcUgKdDR0U0lIZENJRWF4SERIV2tJb2tsUjR0OENnTkl2aEtxbEdHSmx2TGZQVlpnV0hqczlIQSs2K0czNXRwL1pnQQp2U0EvTnV0azVQOUFMT2pseXNpeVNpWDZtYVJQayt5ck5mcHF6QTljbEllVlFRQ1RTR0hSUGVPeGcxU1NxcEhoCk11a3VZMDFKSHdvdEJVUWxOS3VEV0J3ejEzRk91YVBjNzRnMHBzTlFXZUNJaTdJWjZjUFpXSmZiQ2tSSEIwZUYKcGFPR2NueUZGYWZBZk5ZWjF3Wjg3SDZVM1U0endyMElMeFl6NkRuOEI0Zklra29ZMTlQSEVtbjR0ckhtNXdiUgpuSlZQaWVmZkFaenFLL3pjYWlCRlZEZEdRQy9UeTNLNXo5K1ZGYkl6UFdJUjVTNndlV3RiQThoM2FhL0UvdEhTCkNZV3ZpKzRSd3FQeGZXUTZKZXZ4ZFdDMDhSZ3kxSVB6N3Zxa3ZEMGJnN1JmMDF2SVVvaE8zdmJvSDdKejJLMG8KdkVHaVJkY1BRZkJ4eS9SNk80ZXN0UHBUTEU5Q1NTa2NUQVFjaWZDcG4zT1U4L3Z1UkxERXk5QXQrbWFkK0c1VgpLaVNubzhENXlnbGpPSEVRSUNaTzBjRU5GNXVWY3JOTmhRWVMwSmQ3RjllVkNTTzhIVUNzbE1xRjJlZG5GQ3BTCmZyWUlRa3NSVGdlajRiWFV4bFRGM3ZmakVabjVpZFZzSWdqMnRWUW9OMGRybjhNQVNRSURBUUFCbzFNd1VUQWQKQmdOVkhRNEVGZ1FVbERYeVAySHIrVlFNMWFIbHpjTjliRGxNYkpzd0h3WURWUjBqQkJnd0ZvQVVsRFh5UDJIcgorVlFNMWFIbHpjTjliRGxNYkpzd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFnRUFDekdyZlhWWWhmQ210RlpOMFk2TktRN2cxSFZHSVg1VjNBbDRVK29vM3krOW40S1ZHa2dWOWpoL2RaOGsKbXpXbXBYT0dSZkQxdWZSY0Q5cW9YeStHSFJ3LzBibTJ3a1ZjTXZFc25NeCtEa3VoaVZPSWMwUFlETmo4N3VLMwp2TkZCTTM5dW8xZmlKOXlkOVNLUXNqQjk0bFZNYUYxMDg5d2V2UFlsNXFtYm9rdTJxdXJYM3V3NVZ2eXNIQUF3ClUyeTB4OHkvYzNqdzlNZksxWDBHWWhTY1owcFYzeTN4dGxxckhuTmpTUmFaM3BmUGw3NGFjMGJndEU5cThKdDUKbzNEMGdmWmkwOFJrdW5ua2dKMS9QZDVpYUgvWEdnVG56NXdTRUF6VFJCWEhLWVlvRnBGV0wwcnowa0pvamZDdwpSdXQ2T21uL0w2blFXL1I1endzcXZrQUR1by9LWFkyTjY5L1J4UHcwejhFcTZZTVR0OHBXOGU1ZHpSRlFUS2N2CktUdDJCNTB1VFVEUlBRbW92dkYzRmRqcllaYkhyRlhHUXIyaGV6bDU2QkRSSkJaTzhIQ0g0NEIxc3d6K3QySWYKb3V2MlBIZDA1V3ZDVHIvM0dFL2ZiVGpabFVWeDhaYTJUWXdWakhTUzl3OWtRQ1V2dzNXM25OdVF6TklHVGJzYQpEdlQzeVN0MjJkRDQwTVlrNHpOc3o4d1YwUVYwdmJ5enorMUZUSXJlVldJSXhpMHVveWdNaHVGTDdJem4xeHNBClQ4TWVsbHQzN20wM2V2QkxwUXdPWHF0N1JXWlNaMllydVQ2clpkZ2RBOXRlK2Y3VUxhYUNGRDJxYzloRFRLOGoKemh3Mk41cGNIMVpYZGZBRjNNUWo1VmErSElDRElaL3BtTmNkVlJnWWxWN0hkOWc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - key: "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1N3d2dna29BZ0VBQW9JQ0FRQzNOOWp2aWNtS3BHZDEKUDNwWGVBK01vaWRkTmpKNXZNMTNLcWFUYzEyOW1jbUhIdElyakduaG9Mck5TTFdjTEdLTkJic0JOaTVsb3E0MQpzSm9neW1OeFVzeFFRRXJYbjVEaUVuRVFmMUJxK25TR3pJZEdtYm1KVldxSHQ0dFNJSGRDSUVheEhESFdrSW9rCmxSNHQ4Q2dOSXZoS3FsR0dKbHZMZlBWWmdXSGpzOUhBKzYrRzM1dHAvWmdBdlNBL051dGs1UDlBTE9qbHlzaXkKU2lYNm1hUlBrK3lyTmZwcXpBOWNsSWVWUVFDVFNHSFJQZU94ZzFTU3FwSGhNdWt1WTAxSkh3b3RCVVFsTkt1RApXQnd6MTNGT3VhUGM3NGcwcHNOUVdlQ0lpN0laNmNQWldKZmJDa1JIQjBlRnBhT0djbnlGRmFmQWZOWVoxd1o4CjdINlUzVTR6d3IwSUx4WXo2RG44QjRmSWtrb1kxOVBIRW1uNHRySG01d2JSbkpWUGllZmZBWnpxSy96Y2FpQkYKVkRkR1FDL1R5M0s1ejkrVkZiSXpQV0lSNVM2d2VXdGJBOGgzYWEvRS90SFNDWVd2aSs0UndxUHhmV1E2SmV2eApkV0MwOFJneTFJUHo3dnFrdkQwYmc3UmYwMXZJVW9oTzN2Ym9IN0p6Mkswb3ZFR2lSZGNQUWZCeHkvUjZPNGVzCnRQcFRMRTlDU1NrY1RBUWNpZkNwbjNPVTgvdnVSTERFeTlBdCttYWQrRzVWS2lTbm84RDV5Z2xqT0hFUUlDWk8KMGNFTkY1dVZjck5OaFFZUzBKZDdGOWVWQ1NPOEhVQ3NsTXFGMmVkbkZDcFNmcllJUWtzUlRnZWo0YlhVeGxURgozdmZqRVpuNWlkVnNJZ2oydFZRb04wZHJuOE1BU1FJREFRQUJBb0lDQUJKaUttUm9neDRqM2xTYm5Lc3Jtd1hOCm5GMEVLOTdlcEpBTktiOFlQNExmYkNMZ1l3Nm5EVldzQXFwSDNoOFFMZ2cvMTdKb3JSR2FGOWcvd3N0QSsyYmEKdTdEZXJwUEJpVEJCMFBIcWtGZFhqM3NhQ1FXNnRXelQ4dmN3b2F4SklTWXpwbHd0ZTh1dlg0a0pwRWhRTlRpUwpObThKZFZvY1BiQW1kdGkyL0dzME52cmgxZ3dXb2htcHJnZCs4bjRkUk5Pd0RYTnpQaUFXYjNwQ0tkcmg4U1JoCjc0aURSei9SZjBZWENoNmQ4ZENWWGVrNGlFRGVzRXp5QythWWJPQ3dhb2dJY3dVdTV0WkQyV1M1b2NUSzNHM2QKZnhWVFBHdXFBdVZzU3pUd0xWdmZ3bnlyb0xzRDVmTnBoZEhoVzQzSkxYak9BakcwWk9nZFZPT1NlQ1g0S1prbwptcWc4b3Y1TksxclVRVGQwNng2bmg0elBXdEdaTDIwbE9EMTZvRWgzUlZoRFU5akQ1U25aZ2M1Mzg2bVkxeTVJClV0QTBUUnh3MzNIcjRWT1ExaXVCZzlrNTU2MzFIcGl0clBWZ1QvLzVzYzdjMjhpQ2lBRnVFZGg3SDF5cG5NNkgKc1pjL2prRTJBOFF1NnpKSTV2NzRoYkFaTmxONVMrcDU4ajhrV2pPYTd4bnZwYk5saXc1a2JDK2Ezb25ZSVNHZApTNVZITzVEVkVaOEY3aUtUTS8zTEFZdDZScG0vdEZJOUhFZVRGWHVCVEVsYTlsb0srUWdXbjF1QVVMeGtKUHFyCkFXZ0tzL0FYYWpxVyt0d3ZUM2M5cUFDaGFTakhjV3lxem05WGh6RDRwNTg2cnpDZ3M5VUNSSStudlEvOGFIMWoKNm9CdkRqbUxpem9WUEVkR2k1VkJBb0lCQVFEM2pRZThEdVIxVjYveS9HcXRNRVcyVXptdTl2d1R4VXRBSFZtawpob25PbFo0MDVEL1B3b0s1dXBORjV2QWtxNDN1b1M2OXVuQWxxbGpraVNmOTEzU3pYZEE4dXRRYlQzVFczUmxWCkZ2dXZlN3YvcWtRZFdScm5rdXJhcWtFbnhUMnlKOGdlaG1Qcmo1STMwVHVRVXpSdmFRc2hyYkIwV3NCcGcrRmIKdWJnV29wU21hVTY5aEJpSGxwWFYrcjJRUXIrVllHT3JLUkNSWDRhMGxtbEJxbDdnemVZSTA2d2RpamszelF5cgorcVltYjRkdEFqd3huQ09CRG9qbVJBM2hGTmpVbC8wNlVvMmZzUEM1cjduWlA2cURUMUU2MU5tVDhPZ3kyUWE1Cm90Uk4wS1E3bThGRXAwUDA4aHByOTRxVlZLaHB2NzMzcGMwQkhCQXZ6VG9RdTdKcEFvSUJBUUM5ZUxZZzVSS3cKMDZQSEVmRlhMTnZ1NU12Q2I0T2NHY1BHUElLaHEyWExTbFJSSElVSkdueFB2RVRrcm93YXhDVGVVc2g0WUFtUApZUjZxKzE2aHRwN1JBZ1RWNkxvZUpnQ2hDNVRvTWlkZkR2MmxEUnZneVpMWWtsU0VIcEpaSXRWWTI4NzFWTkRaClhFQWwwOGFGcHlENDNseXdNc3UxaHYzSnRMVGJVTDNZdGtBZnBQVFJBZ0ZaaFlxbVJUdTJKeXN5dXVoWWFVbS8KeEw3WDcvYmlJZ2FPemR1YkF0QXBFTUlEbnFOdVdKOUVBQit4a1c5VUIyTFpRZjBuOTh2bG40aUowaDhsb1V5RAphWElPbWpDZFJXeGFzeVRRQkNEZUR0eXgxbHNvb1R1U2JWU1FFSHVUeUgzVno2UHZBZC9xNGxwRW5hY0UvMjE5CjRXUEh6NnArcDJMaEFvSUJBQ28yQXhhZkYzZW16eHJJemN2Z1NsTFBtQ3RzZEFsUEFBamJ1RmhrbElVRVlDaTIKcnViWFRRRXNma1pTSGFxekVnMlpzR1dycjhuTVpVSDYzVFhja2txdmVYMlJnZTl5T2dNVlNtZUc5cjJ5aEprUQp5SEtVcWhESXJZRkJ2TUJ5VXBYWlVMZGJ4UmY2c0QwU1VXekhzMDQ0QkN6bStBcXZHdFlqSmI5RlNNMmJSV3VtCjAwVmZpK3M2MHl2Y2lJeGJ4VjFNUlZKL094TCt6ZkpuSDJXU0RvR1l1bHZROUMxSlQzNWpXWUROeVowT01YSjIKQ2h1UGUwSmJYeDZjaGgxV042N3doNzUxS3k4S3RkR0QxRlhtRkVZMXRTMHA5RHZVdlZOR1RHNUZCSnlNTWlUego1eDIwdzlLMW9hbTlXUVVqbldBQzBQcTBhK04vakljS0lKZVAyZGtDZ2dFQVhPZzhKcFV0UFJnS1R5czFOSklDCnBubjZrRFV1Uy9VMlVwYUpWODA3OVJ0VmpSQjNDNmU1SFVBc2FCWlBEVER4QXpPRXFjSXQ3ZWlwcVIzcG9WSnoKUGZuSGRUelJSc2RMdDZ4K0wvMm40S3p4STJYeUxaK3FLaGhXNlJJMG9SQzduUDdyMU5EcU9DdE1LVUJYTUdKcgpnSjFJeGYyaWRqamphV3o2NGpBTlo1NjJnczNZWGtTbGRNaE8zSWxHWm1OK2d6bXpoT2JjQ3ZUbXYrd2pHMitqCjE1S0tCTkMwVWU2dHRDaXQ2d1g1MHRaY3RDMmtjWWZOcU1yNjRBWmFMUmExVlI5N3RuQUpuTWF2N3drY25ZSFYKU0FSZ0lNQmxmWDI4S2xmNkMwcEVjK0M0Zm93V2pMamJPMlM5OWd6dFI3Z0dtMjdTMzFpQTBDRWRWSFU0SFRMbgpBUUtDQVFFQXNzajBmRThqa0ZpdnpRMmxTZTBEeGhwUXFHZVF1UGROYkJKVnNBcVdmRXRKQ0h2R0JYaTZBeEIrClFnN015RE14dnVPYXQ1TVNUQ01GYzNYdVFUdEtxdlF3SGxXMXZpTnJxckNzRHVRNTVDa1ZQTUxmazk4VlFoeHkKMnpUd20zOUd5a1ZpLy9CaU5LQzRCU2ZtZlN6cGdiYlJnSEI2Ny9zcGIwejBMbXUrWG5uL0ROemxxS1pvQUZFQgpwcDdzNkVmWGdJN1Npbm94dGxuRHM4eDdFM2dlcEtENVVWbnQzM3FZbUhCOVZ3WHpUZDBaSkhrY0x1b1VpanJjCko2cENYVTcrRlpPd3pJQi9IcFFPZ2pwdklqQ0pJaHRGeFZ5Z2JqdXVjRThRS2Naaml5VXNGTHZkQzVkZTFNZVQKMXJKalFFc2laeEgrUVBSODh0dUJ5VVZHMDAwbHBBPT0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=" - } + input: + { + cert: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUY3ekNDQTllZ0F3SUJBZ0lVZFJIQStCMC9aZ2tuS1BsQjJmc3dFOThsekFjd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2dZWXhDekFKQmdOVkJBWVRBbGhZTVJJd0VBWURWUVFJREFsVGRHRjBaVTVoYldVeEVUQVBCZ05WQkFjTQpDRU5wZEhsT1lXMWxNUlF3RWdZRFZRUUtEQXREYjIxd1lXNTVUbUZ0WlRFYk1Ca0dBMVVFQ3d3U1EyOXRjR0Z1CmVWTmxZM1JwYjI1T1lXMWxNUjB3R3dZRFZRUUREQlJEYjIxdGIyNU9ZVzFsVDNKSWIzTjBibUZ0WlRBZUZ3MHkKTXpBMU1UQXhNalV4TWpoYUZ3MHpNekExTURjeE1qVXhNamhhTUlHR01Rc3dDUVlEVlFRR0V3SllXREVTTUJBRwpBMVVFQ0F3SlUzUmhkR1ZPWVcxbE1SRXdEd1lEVlFRSERBaERhWFI1VG1GdFpURVVNQklHQTFVRUNnd0xRMjl0CmNHRnVlVTVoYldVeEd6QVpCZ05WQkFzTUVrTnZiWEJoYm5sVFpXTjBhVzl1VG1GdFpURWRNQnNHQTFVRUF3d1UKUTI5dGJXOXVUbUZ0WlU5eVNHOXpkRzVoYldVd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJSwpBb0lDQVFDM045anZpY21LcEdkMVAzcFhlQStNb2lkZE5qSjV2TTEzS3FhVGMxMjltY21ISHRJcmpHbmhvTHJOClNMV2NMR0tOQmJzQk5pNWxvcTQxc0pvZ3ltTnhVc3hRUUVyWG41RGlFbkVRZjFCcStuU0d6SWRHbWJtSlZXcUgKdDR0U0lIZENJRWF4SERIV2tJb2tsUjR0OENnTkl2aEtxbEdHSmx2TGZQVlpnV0hqczlIQSs2K0czNXRwL1pnQQp2U0EvTnV0azVQOUFMT2pseXNpeVNpWDZtYVJQayt5ck5mcHF6QTljbEllVlFRQ1RTR0hSUGVPeGcxU1NxcEhoCk11a3VZMDFKSHdvdEJVUWxOS3VEV0J3ejEzRk91YVBjNzRnMHBzTlFXZUNJaTdJWjZjUFpXSmZiQ2tSSEIwZUYKcGFPR2NueUZGYWZBZk5ZWjF3Wjg3SDZVM1U0endyMElMeFl6NkRuOEI0Zklra29ZMTlQSEVtbjR0ckhtNXdiUgpuSlZQaWVmZkFaenFLL3pjYWlCRlZEZEdRQy9UeTNLNXo5K1ZGYkl6UFdJUjVTNndlV3RiQThoM2FhL0UvdEhTCkNZV3ZpKzRSd3FQeGZXUTZKZXZ4ZFdDMDhSZ3kxSVB6N3Zxa3ZEMGJnN1JmMDF2SVVvaE8zdmJvSDdKejJLMG8KdkVHaVJkY1BRZkJ4eS9SNk80ZXN0UHBUTEU5Q1NTa2NUQVFjaWZDcG4zT1U4L3Z1UkxERXk5QXQrbWFkK0c1VgpLaVNubzhENXlnbGpPSEVRSUNaTzBjRU5GNXVWY3JOTmhRWVMwSmQ3RjllVkNTTzhIVUNzbE1xRjJlZG5GQ3BTCmZyWUlRa3NSVGdlajRiWFV4bFRGM3ZmakVabjVpZFZzSWdqMnRWUW9OMGRybjhNQVNRSURBUUFCbzFNd1VUQWQKQmdOVkhRNEVGZ1FVbERYeVAySHIrVlFNMWFIbHpjTjliRGxNYkpzd0h3WURWUjBqQkJnd0ZvQVVsRFh5UDJIcgorVlFNMWFIbHpjTjliRGxNYkpzd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFnRUFDekdyZlhWWWhmQ210RlpOMFk2TktRN2cxSFZHSVg1VjNBbDRVK29vM3krOW40S1ZHa2dWOWpoL2RaOGsKbXpXbXBYT0dSZkQxdWZSY0Q5cW9YeStHSFJ3LzBibTJ3a1ZjTXZFc25NeCtEa3VoaVZPSWMwUFlETmo4N3VLMwp2TkZCTTM5dW8xZmlKOXlkOVNLUXNqQjk0bFZNYUYxMDg5d2V2UFlsNXFtYm9rdTJxdXJYM3V3NVZ2eXNIQUF3ClUyeTB4OHkvYzNqdzlNZksxWDBHWWhTY1owcFYzeTN4dGxxckhuTmpTUmFaM3BmUGw3NGFjMGJndEU5cThKdDUKbzNEMGdmWmkwOFJrdW5ua2dKMS9QZDVpYUgvWEdnVG56NXdTRUF6VFJCWEhLWVlvRnBGV0wwcnowa0pvamZDdwpSdXQ2T21uL0w2blFXL1I1endzcXZrQUR1by9LWFkyTjY5L1J4UHcwejhFcTZZTVR0OHBXOGU1ZHpSRlFUS2N2CktUdDJCNTB1VFVEUlBRbW92dkYzRmRqcllaYkhyRlhHUXIyaGV6bDU2QkRSSkJaTzhIQ0g0NEIxc3d6K3QySWYKb3V2MlBIZDA1V3ZDVHIvM0dFL2ZiVGpabFVWeDhaYTJUWXdWakhTUzl3OWtRQ1V2dzNXM25OdVF6TklHVGJzYQpEdlQzeVN0MjJkRDQwTVlrNHpOc3o4d1YwUVYwdmJ5enorMUZUSXJlVldJSXhpMHVveWdNaHVGTDdJem4xeHNBClQ4TWVsbHQzN20wM2V2QkxwUXdPWHF0N1JXWlNaMllydVQ2clpkZ2RBOXRlK2Y3VUxhYUNGRDJxYzloRFRLOGoKemh3Mk41cGNIMVpYZGZBRjNNUWo1VmErSElDRElaL3BtTmNkVlJnWWxWN0hkOWc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + key: "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1N3d2dna29BZ0VBQW9JQ0FRQzNOOWp2aWNtS3BHZDEKUDNwWGVBK01vaWRkTmpKNXZNMTNLcWFUYzEyOW1jbUhIdElyakduaG9Mck5TTFdjTEdLTkJic0JOaTVsb3E0MQpzSm9neW1OeFVzeFFRRXJYbjVEaUVuRVFmMUJxK25TR3pJZEdtYm1KVldxSHQ0dFNJSGRDSUVheEhESFdrSW9rCmxSNHQ4Q2dOSXZoS3FsR0dKbHZMZlBWWmdXSGpzOUhBKzYrRzM1dHAvWmdBdlNBL051dGs1UDlBTE9qbHlzaXkKU2lYNm1hUlBrK3lyTmZwcXpBOWNsSWVWUVFDVFNHSFJQZU94ZzFTU3FwSGhNdWt1WTAxSkh3b3RCVVFsTkt1RApXQnd6MTNGT3VhUGM3NGcwcHNOUVdlQ0lpN0laNmNQWldKZmJDa1JIQjBlRnBhT0djbnlGRmFmQWZOWVoxd1o4CjdINlUzVTR6d3IwSUx4WXo2RG44QjRmSWtrb1kxOVBIRW1uNHRySG01d2JSbkpWUGllZmZBWnpxSy96Y2FpQkYKVkRkR1FDL1R5M0s1ejkrVkZiSXpQV0lSNVM2d2VXdGJBOGgzYWEvRS90SFNDWVd2aSs0UndxUHhmV1E2SmV2eApkV0MwOFJneTFJUHo3dnFrdkQwYmc3UmYwMXZJVW9oTzN2Ym9IN0p6Mkswb3ZFR2lSZGNQUWZCeHkvUjZPNGVzCnRQcFRMRTlDU1NrY1RBUWNpZkNwbjNPVTgvdnVSTERFeTlBdCttYWQrRzVWS2lTbm84RDV5Z2xqT0hFUUlDWk8KMGNFTkY1dVZjck5OaFFZUzBKZDdGOWVWQ1NPOEhVQ3NsTXFGMmVkbkZDcFNmcllJUWtzUlRnZWo0YlhVeGxURgozdmZqRVpuNWlkVnNJZ2oydFZRb04wZHJuOE1BU1FJREFRQUJBb0lDQUJKaUttUm9neDRqM2xTYm5Lc3Jtd1hOCm5GMEVLOTdlcEpBTktiOFlQNExmYkNMZ1l3Nm5EVldzQXFwSDNoOFFMZ2cvMTdKb3JSR2FGOWcvd3N0QSsyYmEKdTdEZXJwUEJpVEJCMFBIcWtGZFhqM3NhQ1FXNnRXelQ4dmN3b2F4SklTWXpwbHd0ZTh1dlg0a0pwRWhRTlRpUwpObThKZFZvY1BiQW1kdGkyL0dzME52cmgxZ3dXb2htcHJnZCs4bjRkUk5Pd0RYTnpQaUFXYjNwQ0tkcmg4U1JoCjc0aURSei9SZjBZWENoNmQ4ZENWWGVrNGlFRGVzRXp5QythWWJPQ3dhb2dJY3dVdTV0WkQyV1M1b2NUSzNHM2QKZnhWVFBHdXFBdVZzU3pUd0xWdmZ3bnlyb0xzRDVmTnBoZEhoVzQzSkxYak9BakcwWk9nZFZPT1NlQ1g0S1prbwptcWc4b3Y1TksxclVRVGQwNng2bmg0elBXdEdaTDIwbE9EMTZvRWgzUlZoRFU5akQ1U25aZ2M1Mzg2bVkxeTVJClV0QTBUUnh3MzNIcjRWT1ExaXVCZzlrNTU2MzFIcGl0clBWZ1QvLzVzYzdjMjhpQ2lBRnVFZGg3SDF5cG5NNkgKc1pjL2prRTJBOFF1NnpKSTV2NzRoYkFaTmxONVMrcDU4ajhrV2pPYTd4bnZwYk5saXc1a2JDK2Ezb25ZSVNHZApTNVZITzVEVkVaOEY3aUtUTS8zTEFZdDZScG0vdEZJOUhFZVRGWHVCVEVsYTlsb0srUWdXbjF1QVVMeGtKUHFyCkFXZ0tzL0FYYWpxVyt0d3ZUM2M5cUFDaGFTakhjV3lxem05WGh6RDRwNTg2cnpDZ3M5VUNSSStudlEvOGFIMWoKNm9CdkRqbUxpem9WUEVkR2k1VkJBb0lCQVFEM2pRZThEdVIxVjYveS9HcXRNRVcyVXptdTl2d1R4VXRBSFZtawpob25PbFo0MDVEL1B3b0s1dXBORjV2QWtxNDN1b1M2OXVuQWxxbGpraVNmOTEzU3pYZEE4dXRRYlQzVFczUmxWCkZ2dXZlN3YvcWtRZFdScm5rdXJhcWtFbnhUMnlKOGdlaG1Qcmo1STMwVHVRVXpSdmFRc2hyYkIwV3NCcGcrRmIKdWJnV29wU21hVTY5aEJpSGxwWFYrcjJRUXIrVllHT3JLUkNSWDRhMGxtbEJxbDdnemVZSTA2d2RpamszelF5cgorcVltYjRkdEFqd3huQ09CRG9qbVJBM2hGTmpVbC8wNlVvMmZzUEM1cjduWlA2cURUMUU2MU5tVDhPZ3kyUWE1Cm90Uk4wS1E3bThGRXAwUDA4aHByOTRxVlZLaHB2NzMzcGMwQkhCQXZ6VG9RdTdKcEFvSUJBUUM5ZUxZZzVSS3cKMDZQSEVmRlhMTnZ1NU12Q2I0T2NHY1BHUElLaHEyWExTbFJSSElVSkdueFB2RVRrcm93YXhDVGVVc2g0WUFtUApZUjZxKzE2aHRwN1JBZ1RWNkxvZUpnQ2hDNVRvTWlkZkR2MmxEUnZneVpMWWtsU0VIcEpaSXRWWTI4NzFWTkRaClhFQWwwOGFGcHlENDNseXdNc3UxaHYzSnRMVGJVTDNZdGtBZnBQVFJBZ0ZaaFlxbVJUdTJKeXN5dXVoWWFVbS8KeEw3WDcvYmlJZ2FPemR1YkF0QXBFTUlEbnFOdVdKOUVBQit4a1c5VUIyTFpRZjBuOTh2bG40aUowaDhsb1V5RAphWElPbWpDZFJXeGFzeVRRQkNEZUR0eXgxbHNvb1R1U2JWU1FFSHVUeUgzVno2UHZBZC9xNGxwRW5hY0UvMjE5CjRXUEh6NnArcDJMaEFvSUJBQ28yQXhhZkYzZW16eHJJemN2Z1NsTFBtQ3RzZEFsUEFBamJ1RmhrbElVRVlDaTIKcnViWFRRRXNma1pTSGFxekVnMlpzR1dycjhuTVpVSDYzVFhja2txdmVYMlJnZTl5T2dNVlNtZUc5cjJ5aEprUQp5SEtVcWhESXJZRkJ2TUJ5VXBYWlVMZGJ4UmY2c0QwU1VXekhzMDQ0QkN6bStBcXZHdFlqSmI5RlNNMmJSV3VtCjAwVmZpK3M2MHl2Y2lJeGJ4VjFNUlZKL094TCt6ZkpuSDJXU0RvR1l1bHZROUMxSlQzNWpXWUROeVowT01YSjIKQ2h1UGUwSmJYeDZjaGgxV042N3doNzUxS3k4S3RkR0QxRlhtRkVZMXRTMHA5RHZVdlZOR1RHNUZCSnlNTWlUego1eDIwdzlLMW9hbTlXUVVqbldBQzBQcTBhK04vakljS0lKZVAyZGtDZ2dFQVhPZzhKcFV0UFJnS1R5czFOSklDCnBubjZrRFV1Uy9VMlVwYUpWODA3OVJ0VmpSQjNDNmU1SFVBc2FCWlBEVER4QXpPRXFjSXQ3ZWlwcVIzcG9WSnoKUGZuSGRUelJSc2RMdDZ4K0wvMm40S3p4STJYeUxaK3FLaGhXNlJJMG9SQzduUDdyMU5EcU9DdE1LVUJYTUdKcgpnSjFJeGYyaWRqamphV3o2NGpBTlo1NjJnczNZWGtTbGRNaE8zSWxHWm1OK2d6bXpoT2JjQ3ZUbXYrd2pHMitqCjE1S0tCTkMwVWU2dHRDaXQ2d1g1MHRaY3RDMmtjWWZOcU1yNjRBWmFMUmExVlI5N3RuQUpuTWF2N3drY25ZSFYKU0FSZ0lNQmxmWDI4S2xmNkMwcEVjK0M0Zm93V2pMamJPMlM5OWd6dFI3Z0dtMjdTMzFpQTBDRWRWSFU0SFRMbgpBUUtDQVFFQXNzajBmRThqa0ZpdnpRMmxTZTBEeGhwUXFHZVF1UGROYkJKVnNBcVdmRXRKQ0h2R0JYaTZBeEIrClFnN015RE14dnVPYXQ1TVNUQ01GYzNYdVFUdEtxdlF3SGxXMXZpTnJxckNzRHVRNTVDa1ZQTUxmazk4VlFoeHkKMnpUd20zOUd5a1ZpLy9CaU5LQzRCU2ZtZlN6cGdiYlJnSEI2Ny9zcGIwejBMbXUrWG5uL0ROemxxS1pvQUZFQgpwcDdzNkVmWGdJN1Npbm94dGxuRHM4eDdFM2dlcEtENVVWbnQzM3FZbUhCOVZ3WHpUZDBaSkhrY0x1b1VpanJjCko2cENYVTcrRlpPd3pJQi9IcFFPZ2pwdklqQ0pJaHRGeFZ5Z2JqdXVjRThRS2Naaml5VXNGTHZkQzVkZTFNZVQKMXJKalFFc2laeEgrUVBSODh0dUJ5VVZHMDAwbHBBPT0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=", + } want_result: - x: "MIIF7zCCA9egAwIBAgIUdRHA+B0/ZgknKPlB2fswE98lzAcwDQYJKoZIhvcNAQELBQAwgYYxCzAJBgNVBAYTAlhYMRIwEAYDVQQIDAlTdGF0ZU5hbWUxETAPBgNVBAcMCENpdHlOYW1lMRQwEgYDVQQKDAtDb21wYW55TmFtZTEbMBkGA1UECwwSQ29tcGFueVNlY3Rpb25OYW1lMR0wGwYDVQQDDBRDb21tb25OYW1lT3JIb3N0bmFtZTAeFw0yMzA1MTAxMjUxMjhaFw0zMzA1MDcxMjUxMjhaMIGGMQswCQYDVQQGEwJYWDESMBAGA1UECAwJU3RhdGVOYW1lMREwDwYDVQQHDAhDaXR5TmFtZTEUMBIGA1UECgwLQ29tcGFueU5hbWUxGzAZBgNVBAsMEkNvbXBhbnlTZWN0aW9uTmFtZTEdMBsGA1UEAwwUQ29tbW9uTmFtZU9ySG9zdG5hbWUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC3N9jvicmKpGd1P3pXeA+MoiddNjJ5vM13KqaTc129mcmHHtIrjGnhoLrNSLWcLGKNBbsBNi5loq41sJogymNxUsxQQErXn5DiEnEQf1Bq+nSGzIdGmbmJVWqHt4tSIHdCIEaxHDHWkIoklR4t8CgNIvhKqlGGJlvLfPVZgWHjs9HA+6+G35tp/ZgAvSA/Nutk5P9ALOjlysiySiX6maRPk+yrNfpqzA9clIeVQQCTSGHRPeOxg1SSqpHhMukuY01JHwotBUQlNKuDWBwz13FOuaPc74g0psNQWeCIi7IZ6cPZWJfbCkRHB0eFpaOGcnyFFafAfNYZ1wZ87H6U3U4zwr0ILxYz6Dn8B4fIkkoY19PHEmn4trHm5wbRnJVPieffAZzqK/zcaiBFVDdGQC/Ty3K5z9+VFbIzPWIR5S6weWtbA8h3aa/E/tHSCYWvi+4RwqPxfWQ6JevxdWC08Rgy1IPz7vqkvD0bg7Rf01vIUohO3vboH7Jz2K0ovEGiRdcPQfBxy/R6O4estPpTLE9CSSkcTAQcifCpn3OU8/vuRLDEy9At+mad+G5VKiSno8D5ygljOHEQICZO0cENF5uVcrNNhQYS0Jd7F9eVCSO8HUCslMqF2ednFCpSfrYIQksRTgej4bXUxlTF3vfjEZn5idVsIgj2tVQoN0drn8MASQIDAQABo1MwUTAdBgNVHQ4EFgQUlDXyP2Hr+VQM1aHlzcN9bDlMbJswHwYDVR0jBBgwFoAUlDXyP2Hr+VQM1aHlzcN9bDlMbJswDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEACzGrfXVYhfCmtFZN0Y6NKQ7g1HVGIX5V3Al4U+oo3y+9n4KVGkgV9jh/dZ8kmzWmpXOGRfD1ufRcD9qoXy+GHRw/0bm2wkVcMvEsnMx+DkuhiVOIc0PYDNj87uK3vNFBM39uo1fiJ9yd9SKQsjB94lVMaF1089wevPYl5qmboku2qurX3uw5VvysHAAwU2y0x8y/c3jw9MfK1X0GYhScZ0pV3y3xtlqrHnNjSRaZ3pfPl74ac0bgtE9q8Jt5o3D0gfZi08RkunnkgJ1/Pd5iaH/XGgTnz5wSEAzTRBXHKYYoFpFWL0rz0kJojfCwRut6Omn/L6nQW/R5zwsqvkADuo/KXY2N69/RxPw0z8Eq6YMTt8pW8e5dzRFQTKcvKTt2B50uTUDRPQmovvF3FdjrYZbHrFXGQr2hezl56BDRJBZO8HCH44B1swz+t2Ifouv2PHd05WvCTr/3GE/fbTjZlUVx8Za2TYwVjHSS9w9kQCUvw3W3nNuQzNIGTbsaDvT3ySt22dD40MYk4zNsz8wV0QV0vbyzz+1FTIreVWIIxi0uoygMhuFL7Izn1xsAT8Mellt37m03evBLpQwOXqt7RWZSZ2YruT6rZdgdA9te+f7ULaaCFD2qc9hDTK8jzhw2N5pcH1ZXdfAF3MQj5Va+HICDIZ/pmNcdVRgYlV7Hd9g=" diff --git a/test/cases/testdata/cryptox509parsersaprivatekey/test-cryptox509parsersaprivatekey-1.yaml b/test/cases/testdata/cryptox509parsersaprivatekey/test-cryptox509parsersaprivatekey-1.yaml index b6cd5adf0a..95684ea4aa 100644 --- a/test/cases/testdata/cryptox509parsersaprivatekey/test-cryptox509parsersaprivatekey-1.yaml +++ b/test/cases/testdata/cryptox509parsersaprivatekey/test-cryptox509parsersaprivatekey-1.yaml @@ -1,11 +1,12 @@ +--- cases: - data: modules: - | package testing - + pem := "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEA9D/bK4171aiTNUkrUCHKGMLSQooV+o3wdz2889h9iv0HhhBJ\nCAGU54K3duB8ofHpmYL50QodcR4RLw1vSkaI+FPdPDMyKxKj/YcmofJjz4kW+Iqw\nFbBcbMnKnEVzye+CyW9YYOTu0xWtcgen80zGp2opG0GZX86hBjjXJnjOdrJTk6x2\nNAiJIbjsQevysmj+2MyqVm8widxw0x+rGhTaCD+ZXWitN0a0WO1aaA8c/7i99I9z\nhe2peKvXzEtMaqYO9ptHcYmq2z0QWvZuJVMv5Yn0mScLWyh91R099IOtn6sNaMMs\nOyTpi7E/2IlVgI2uKGPEopKkMFV8Fl2YaAbo7wIDAQABAoIBAAyMZ08ygqU0dvOq\n4a3JPp/NCo5el8h6mFsX8eg5PCHy4/sQRSBDLIpEXfaei+iqDA1V/E2wDlksaUeY\nkhony4uui1Q3cSFjYMd6tRJm6JfV/DcisO88U1NHfsBOlSdPxdFhhhHcUSTJHVMZ\nb5iBXkdlnd0HnsCcVguCyhLw6/KPFyiA+NYRz68flxze7admyVp5C6i/HbMPq8Pr\nMilBUvOFtxuaGeJBAiavuzUe9I70dRwpe424tMvisSA8h7Xbm8BeN/PJHDV/2JrI\nURgQ563yQ5So/Qg8AgxXRkpgWM9zAh7r31PBO86vq/B4ZbON/TtWdcZVsAcVB4Pk\ntqc8JNkCgYEA+g8V+y92SETdcwUkbd5O9Fg5CkfdsALsBXVH6FunrCUV5HS9l5o6\nMMBbJ/08odW/bP5BmOa4A/Hbk9uG/UfQn2KQ3HCgPlxUEwQO07R1/FcQOe4xmyG6\nJpDgQ30viE1RtlCkceQWUeitCIqZsYu0i8sLZLWJH+V/07OB4G17ELMCgYEA+g1v\nhrlAFNhZvrIX/zcP3xF2pZ+AqkFXdL/tWQZkWAVToONn/LlXTH71C/TO2x+OaQRm\nqX1bA9Zhyjf1gYQN9RenjUswvggk0aY2Tk28wUqowMGSsjQHmZ20EphHNMWNJpdS\nfKFfrQIFKCnLlpQVNz+j3bLWZUnq+jPaYnJP7NUCgYEA48qcVo7c7Ga3aNEVZ3St\nbg90HrZq760pvqshDz13V+0MrWnfUFxxh/mi0KHy+uYRlMNllFkQ5p8LTP0dUlt6\nY8dReU6r20MWX6BBtX9eP7o8ENm4nL4zqnAtq609gKgWuMNrmkiSQJl6Dx7bdY5z\nsSkNPvfUa5cQRBTxSjXRdtsCgYBHrzpdwRXh4/Q2ew/uFnbyWCtPZ96W8IyF58+/\nSdnSchR7dzYEeY3RXEQb3V6/6tgEu0JDLLC+9OKr+kbjjlwB+3oJQ5kBoYwMnj3L\nTPXj4+dk+xl3BPt4yoEpI4amVkwU2CTJnemzy3R3AyReUq2SXSg5El/sQbifaeYd\neu/20QKBgH/5IZHGBKiRAe1ww2FzOpDtL8VXXTe3EAXKutfajrHTqPz9+lXknX/D\nUMosh264nYXYS29WqxhJVutbE9u8e0VpuY1qIN9/3R0WKfTLTMUFlZtbqTepvsy1\nW2UbK732I4Nfp0/mtUvOSdMZO8dxbSdEeMnw/Ec8QgxK9a1rRu9+\n-----END RSA PRIVATE KEY-----" - + p := crypto.x509.parse_rsa_private_key(pem) note: cryptox509parsersaprivatekey/valid query: data.testing.p = x @@ -23,8 +24,8 @@ cases: - data: modules: - | - package testing - + package testing + p := crypto.x509.parse_rsa_private_key("invalid") note: cryptox509parsersaprivatekey/invalid query: data.testing.p = x diff --git a/test/cases/testdata/dataderef/test-data-derefs.yaml b/test/cases/testdata/dataderef/test-data-derefs.yaml index e3a3a6556c..a73a3f1f66 100644 --- a/test/cases/testdata/dataderef/test-data-derefs.yaml +++ b/test/cases/testdata/dataderef/test-data-derefs.yaml @@ -1,34 +1,35 @@ +--- cases: -- data: - "2": bar - modules: - - | - package test - p := data[2] - note: data/toplevel integer - query: data.test.p = x - want_result: - - x: bar -- data: - nested: + - data: "2": bar - modules: - - | - package test - p := data.nested[2] - note: data/nested integer - query: data.test.p = x - want_result: - - x: bar -- data: - nested: - "2": bar - modules: - - | - package test - p := obj[2] { - obj := data.nested - } - note: "data/negative case: nested integer" - query: data.test.p = x - want_result: [] \ No newline at end of file + modules: + - | + package test + p := data[2] + note: data/toplevel integer + query: data.test.p = x + want_result: + - x: bar + - data: + nested: + "2": bar + modules: + - | + package test + p := data.nested[2] + note: data/nested integer + query: data.test.p = x + want_result: + - x: bar + - data: + nested: + "2": bar + modules: + - | + package test + p := obj[2] { + obj := data.nested + } + note: "data/negative case: nested integer" + query: data.test.p = x + want_result: [] diff --git a/test/cases/testdata/defaultkeyword/test-default-functions.yaml b/test/cases/testdata/defaultkeyword/test-default-functions.yaml index 81350089c9..34433df8ab 100644 --- a/test/cases/testdata/defaultkeyword/test-default-functions.yaml +++ b/test/cases/testdata/defaultkeyword/test-default-functions.yaml @@ -1,39 +1,40 @@ +--- cases: -- note: defaultkeyword/function with var arg - modules: - - | - package test + - note: defaultkeyword/function with var arg + modules: + - | + package test - default f(_) := 100 - query: data.test = x - want_result: - - x: {} -- note: defaultkeyword/function with var arg, ref head - modules: - - | - package test + default f(_) := 100 + query: data.test = x + want_result: + - x: {} + - note: defaultkeyword/function with var arg, ref head + modules: + - | + package test - default p.q.r.f(x) := 100 - query: data.test = x - want_result: - - x: - p: - q: - r: {} -- note: defaultkeyword/function with var arg, ref head query - modules: - - | - package test + default p.q.r.f(x) := 100 + query: data.test = x + want_result: + - x: + p: + q: + r: {} + - note: defaultkeyword/function with var arg, ref head query + modules: + - | + package test - default p.q.r.f(x) := 100 + default p.q.r.f(x) := 100 - p.q.r.f(x) = x { - x == 2 - } + p.q.r.f(x) = x { + x == 2 + } - foo { - p.q.r.f(3) == 100 - } - query: data.test.foo = x - want_result: - - x: true \ No newline at end of file + foo { + p.q.r.f(3) == 100 + } + query: data.test.foo = x + want_result: + - x: true diff --git a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0804.yaml b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0804.yaml index 9307c32a2e..eb62a53b9e 100644 --- a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0804.yaml +++ b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0804.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = 1 { - false - } + p = 1 { + false + } - default p = 0 + default p = 0 - p = 2 { - false - } - note: defaultkeyword/undefined - query: data.generated.p = x - want_result: - - x: 0 + p = 2 { + false + } + note: defaultkeyword/undefined + query: data.generated.p = x + want_result: + - x: 0 diff --git a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0805.yaml b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0805.yaml index 125496929f..d65e2688d8 100644 --- a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0805.yaml +++ b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0805.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - default p = 0 + default p = 0 - p = 1 + p = 1 - p = 2 { - false - } - note: defaultkeyword/defined - query: data.generated.p = x - want_result: - - x: 1 + p = 2 { + false + } + note: defaultkeyword/defined + query: data.generated.p = x + want_result: + - x: 1 diff --git a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0806.yaml b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0806.yaml index ca98b06c8f..94ca030416 100644 --- a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0806.yaml +++ b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0806.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = 1 + p = 1 - default p = 0 + default p = 0 - p = 2 { - false - } - note: defaultkeyword/defined-ooo - query: data.generated.p = x - want_result: - - x: 1 + p = 2 { + false + } + note: defaultkeyword/defined-ooo + query: data.generated.p = x + want_result: + - x: 1 diff --git a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0807.yaml b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0807.yaml index 5296908d05..43dfcc9351 100644 --- a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0807.yaml +++ b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0807.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = 1 { - false - } + p = 1 { + false + } - default p = [x | data.a[_] = x] - note: defaultkeyword/array comprehension - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + default p = [x | data.a[_] = x] + note: defaultkeyword/array comprehension + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0808.yaml b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0808.yaml index f70c80c98b..cf47977fd7 100644 --- a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0808.yaml +++ b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0808.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - d: - e: - - bar - - baz - modules: - - | - package generated + - data: + d: + e: + - bar + - baz + modules: + - | + package generated - p = 1 { - false - } + p = 1 { + false + } - default p = {x: k | data.d[k][_] = x} - note: defaultkeyword/object comprehension - query: data.generated.p = x - want_result: - - x: - bar: e - baz: e + default p = {x: k | data.d[k][_] = x} + note: defaultkeyword/object comprehension + query: data.generated.p = x + want_result: + - x: + bar: e + baz: e diff --git a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0809.yaml b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0809.yaml index 3d518617fd..4765d9b56d 100644 --- a/test/cases/testdata/defaultkeyword/test-defaultkeyword-0809.yaml +++ b/test/cases/testdata/defaultkeyword/test-defaultkeyword-0809.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = 1 { - false - } + p = 1 { + false + } - default p = {x | data.a[_] = x} - note: defaultkeyword/set comprehension - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + default p = {x | data.a[_] = x} + note: defaultkeyword/set comprehension + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/disjunction/test-disjunction-0763.yaml b/test/cases/testdata/disjunction/test-disjunction-0763.yaml index 5a9d9304d3..2f692380ef 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0763.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0763.yaml @@ -1,32 +1,33 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] { - data.a[i] = x - } + p[x] { + data.a[i] = x + } - p[y] { - data.b[j] = y - } - note: 'disjunction/incr: query set' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 - - goodbye - - hello + p[y] { + data.b[j] = y + } + note: "disjunction/incr: query set" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 + - goodbye + - hello diff --git a/test/cases/testdata/disjunction/test-disjunction-0764.yaml b/test/cases/testdata/disjunction/test-disjunction-0764.yaml index 9c076c94e4..ed8f7792aa 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0764.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0764.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[100] + p[100] - p[x] { - data.a[x] - } - note: 'disjunction/incr: query set constants' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 0 - - 1 - - 2 - - 3 - - 100 + p[x] { + data.a[x] + } + note: "disjunction/incr: query set constants" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 0 + - 1 + - 2 + - 3 + - 100 diff --git a/test/cases/testdata/disjunction/test-disjunction-0765.yaml b/test/cases/testdata/disjunction/test-disjunction-0765.yaml index ffa887ac5d..c331b13dec 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0765.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0765.yaml @@ -1,47 +1,48 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - g: + - data: a: - - 1 - - 0 - - 0 - - 0 + - 1 + - 2 + - 3 + - 4 b: - - 0 - - 2 - - 0 - - 0 - c: - - 0 - - 0 - - 0 - - 4 - modules: - - | - package generated + v1: hello + v2: goodbye + g: + a: + - 1 + - 0 + - 0 + - 0 + b: + - 0 + - 2 + - 0 + - 0 + c: + - 0 + - 0 + - 0 + - 4 + modules: + - | + package generated - p[k] = v { - data.b[v] = k - } + p[k] = v { + data.b[v] = k + } - p[k] = v { - data.a[i] = v - data.g[k][j] = v - } - note: 'disjunction/incr: query object' - query: data.generated.p = x - want_result: - - x: - a: 1 - b: 2 - c: 4 - goodbye: v2 - hello: v1 + p[k] = v { + data.a[i] = v + data.g[k][j] = v + } + note: "disjunction/incr: query object" + query: data.generated.p = x + want_result: + - x: + a: 1 + b: 2 + c: 4 + goodbye: v2 + hello: v1 diff --git a/test/cases/testdata/disjunction/test-disjunction-0766.yaml b/test/cases/testdata/disjunction/test-disjunction-0766.yaml index bfb5f50fed..b0287f635a 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0766.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0766.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p["a"] = 1 + p["a"] = 1 - p["b"] = 2 - note: 'disjunction/incr: query object constant key' - query: data.generated.p = x - want_result: - - x: - a: 1 - b: 2 + p["b"] = 2 + note: "disjunction/incr: query object constant key" + query: data.generated.p = x + want_result: + - x: + a: 1 + b: 2 diff --git a/test/cases/testdata/disjunction/test-disjunction-0767.yaml b/test/cases/testdata/disjunction/test-disjunction-0767.yaml index a18620b609..66003c39c9 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0767.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0767.yaml @@ -1,36 +1,37 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] { - data.generated.q[x] - } + p[x] { + data.generated.q[x] + } - q[x] { - data.a[i] = x - } + q[x] { + data.a[i] = x + } - q[y] { - data.b[j] = y - } - note: 'disjunction/incr: iter set' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 - - goodbye - - hello + q[y] { + data.b[j] = y + } + note: "disjunction/incr: iter set" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 + - goodbye + - hello diff --git a/test/cases/testdata/disjunction/test-disjunction-0768.yaml b/test/cases/testdata/disjunction/test-disjunction-0768.yaml index c1d17edbbc..6b91c8844b 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0768.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0768.yaml @@ -1,37 +1,38 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] { - data.generated.q = s - s[x] - } + p[x] { + data.generated.q = s + s[x] + } - q[x] { - data.a[_0] = x - } + q[x] { + data.a[_0] = x + } - q[y] { - data.b[_0] = y - } - note: 'disjunction/incr: eval set' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 - - goodbye - - hello + q[y] { + data.b[_0] = y + } + note: "disjunction/incr: eval set" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 + - goodbye + - hello diff --git a/test/cases/testdata/disjunction/test-disjunction-0769.yaml b/test/cases/testdata/disjunction/test-disjunction-0769.yaml index 6663b9e88a..8c688b2539 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0769.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0769.yaml @@ -1,51 +1,52 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - g: + - data: a: - - 1 - - 0 - - 0 - - 0 + - 1 + - 2 + - 3 + - 4 b: - - 0 - - 2 - - 0 - - 0 - c: - - 0 - - 0 - - 0 - - 4 - modules: - - | - package generated + v1: hello + v2: goodbye + g: + a: + - 1 + - 0 + - 0 + - 0 + b: + - 0 + - 2 + - 0 + - 0 + c: + - 0 + - 0 + - 0 + - 4 + modules: + - | + package generated - p[k] = v { - data.generated.q[k] = v - } + p[k] = v { + data.generated.q[k] = v + } - q[k] = v { - data.b[v] = k - } + q[k] = v { + data.b[v] = k + } - q[k] = v { - data.a[i] = v - data.g[k][j] = v - } - note: 'disjunction/incr: eval object' - query: data.generated.p = x - want_result: - - x: - a: 1 - b: 2 - c: 4 - goodbye: v2 - hello: v1 + q[k] = v { + data.a[i] = v + data.g[k][j] = v + } + note: "disjunction/incr: eval object" + query: data.generated.p = x + want_result: + - x: + a: 1 + b: 2 + c: 4 + goodbye: v2 + hello: v1 diff --git a/test/cases/testdata/disjunction/test-disjunction-0770.yaml b/test/cases/testdata/disjunction/test-disjunction-0770.yaml index 1e97d537ea..15ecbd1c11 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0770.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0770.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[k] = v { - data.generated.q[k] = v - } + p[k] = v { + data.generated.q[k] = v + } - q["a"] = 1 + q["a"] = 1 - q["b"] = 2 - note: 'disjunction/incr: eval object constant key' - query: data.generated.p = x - want_result: - - x: - a: 1 - b: 2 + q["b"] = 2 + note: "disjunction/incr: eval object constant key" + query: data.generated.p = x + want_result: + - x: + a: 1 + b: 2 diff --git a/test/cases/testdata/disjunction/test-disjunction-0771.yaml b/test/cases/testdata/disjunction/test-disjunction-0771.yaml index f77f995bb9..4cbda39489 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0771.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0771.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - false - } + p { + false + } - p { - false - } - note: 'disjunction/complete: undefined' - query: data.generated.p = x - want_result: [] + p { + false + } + note: "disjunction/complete: undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/disjunction/test-disjunction-0772.yaml b/test/cases/testdata/disjunction/test-disjunction-0772.yaml index f1ddf1b9a9..f6da5d0fb4 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0772.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0772.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = true + p = true - p = false { - false - } + p = false { + false + } - p = false - note: 'disjunction/complete: error' - query: data.generated.p = x - want_error: complete rules must not produce multiple outputs - want_error_code: eval_conflict_error + p = false + note: "disjunction/complete: error" + query: data.generated.p = x + want_error: complete rules must not produce multiple outputs + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/disjunction/test-disjunction-0773.yaml b/test/cases/testdata/disjunction/test-disjunction-0773.yaml index c802ca7b40..b0e3141819 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0773.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0773.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = true + p = true - p = true - note: 'disjunction/complete: valid' - query: data.generated.p = x - want_result: - - x: true + p = true + note: "disjunction/complete: valid" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/disjunction/test-disjunction-0774.yaml b/test/cases/testdata/disjunction/test-disjunction-0774.yaml index 5022cabff5..01b18ac9c3 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0774.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0774.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = true + p = true - p = false { - false - } - note: 'disjunction/complete: valid-2' - query: data.generated.p = x - want_result: - - x: true + p = false { + false + } + note: "disjunction/complete: valid-2" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/disjunction/test-disjunction-0775.yaml b/test/cases/testdata/disjunction/test-disjunction-0775.yaml index 8fc9e5be34..9a9832ecfe 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0775.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0775.yaml @@ -1,100 +1,101 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p { - data.generated.q - } + p { + data.generated.q + } - q = true + q = true - q = false - note: 'disjunction/complete: reference error' - query: data.generated.p = x - want_error: complete rules must not produce multiple outputs - want_error_code: eval_conflict_error -- data: - modules: - - | - package generated + q = false + note: "disjunction/complete: reference error" + query: data.generated.p = x + want_error: complete rules must not produce multiple outputs + want_error_code: eval_conflict_error + - data: + modules: + - | + package generated - p { - data.generated.q - } + p { + data.generated.q + } - q = true { - false - } - else = true { - true - } + q = true { + false + } + else = true { + true + } - q = true { - false - } - else = false { - true - } - note: 'disjunction/complete: nested conflict, else' - query: data.generated.p = x - want_error: complete rules must not produce multiple outputs - want_error_code: eval_conflict_error -- data: - modules: - - | - package test + q = true { + false + } + else = false { + true + } + note: "disjunction/complete: nested conflict, else" + query: data.generated.p = x + want_error: complete rules must not produce multiple outputs + want_error_code: eval_conflict_error + - data: + modules: + - | + package test - p { - x := data.test.q(1) - x == true - } + p { + x := data.test.q(1) + x == true + } - q(_) = true + q(_) = true - q(_) = false - note: 'disjunction/nested function with conflict' - query: data.test.p = x - want_error: functions must not produce multiple outputs for same inputs - want_error_code: eval_conflict_error -- data: - modules: - - | - package test + q(_) = false + note: "disjunction/nested function with conflict" + query: data.test.p = x + want_error: functions must not produce multiple outputs for same inputs + want_error_code: eval_conflict_error + - data: + modules: + - | + package test - p { - x := data.test.q(1) - } + p { + x := data.test.q(1) + } - q(_) = true { - false - } - else = true { - true - } + q(_) = true { + false + } + else = true { + true + } - q(_) = true { - false - } - else = false { - true - } - note: 'disjunction/nested function with conflict, else' - query: data.test.p = x - want_error: functions must not produce multiple outputs for same inputs - want_error_code: eval_conflict_error -- data: - modules: - - | - package test + q(_) = true { + false + } + else = false { + true + } + note: "disjunction/nested function with conflict, else" + query: data.test.p = x + want_error: functions must not produce multiple outputs for same inputs + want_error_code: eval_conflict_error + - data: + modules: + - | + package test - p { - q - } - xs = {1, 2} - q = xs[_] - note: 'disjunction/complete: conflict involving early-exit complete rule' - query: data.test.p = x - want_error: complete rules must not produce multiple outputs - want_error_code: eval_conflict_error \ No newline at end of file + p { + q + } + xs = {1, 2} + q = xs[_] + note: "disjunction/complete: conflict involving early-exit complete rule" + query: data.test.p = x + want_error: complete rules must not produce multiple outputs + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/disjunction/test-disjunction-0776.yaml b/test/cases/testdata/disjunction/test-disjunction-0776.yaml index 3a785b9d31..6bcd8b44c0 100644 --- a/test/cases/testdata/disjunction/test-disjunction-0776.yaml +++ b/test/cases/testdata/disjunction/test-disjunction-0776.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q - } + p { + data.generated.q + } - q = true + q = true - q = true - note: 'disjunction/complete: reference valid' - query: data.generated.p = x - want_result: - - x: true + q = true + note: "disjunction/complete: reference valid" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1054.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1054.yaml index 4758c18f0c..eac0dedd05 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1054.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1054.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - no_op { - true - } else = false { - true - } - note: elsekeyword/no-op - query: data.ex.no_op = x - want_result: - - x: true + no_op { + true + } else = false { + true + } + note: elsekeyword/no-op + query: data.ex.no_op = x + want_result: + - x: true diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1055.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1055.yaml index 8a11debc72..7b41fd102d 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1055.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1055.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - bool { - false - } else = true { - true - } - note: elsekeyword/trivial - query: data.ex.bool = x - want_result: - - x: true + bool { + false + } else = true { + true + } + note: elsekeyword/trivial + query: data.ex.bool = x + want_result: + - x: true diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1056.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1056.yaml index 1ee74cd130..9f88ef5b0f 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1056.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1056.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - non_bool = null { - false - } else = [100] { - true - } - note: elsekeyword/trivial-non-bool - query: data.ex.non_bool = x - want_result: - - x: - - 100 + non_bool = null { + false + } else = [100] { + true + } + note: elsekeyword/trivial-non-bool + query: data.ex.non_bool = x + want_result: + - x: + - 100 diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1057.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1057.yaml index 5a7c92cb26..4258a4f293 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1057.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1057.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - triple { - false - } else { - false - } else = "hello" { - true - } - note: elsekeyword/trivial-3 - query: data.ex.triple = x - want_result: - - x: hello + triple { + false + } else { + false + } else = "hello" { + true + } + note: elsekeyword/trivial-3 + query: data.ex.triple = x + want_result: + - x: hello diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1058.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1058.yaml index 8441987638..d9c506bc79 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1058.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1058.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - modules: - - | - package ex + - data: + a: + - 1 + - 2 + - 3 + - 4 + b: + v1: hello + v2: goodbye + modules: + - | + package ex - vars { - false - } else = ["hello", x] { - data.b.v2 = x - } - note: elsekeyword/var-head - query: data.ex.vars = x - want_result: - - x: - - hello - - goodbye + vars { + false + } else = ["hello", x] { + data.b.v2 = x + } + note: elsekeyword/var-head + query: data.ex.vars = x + want_result: + - x: + - hello + - goodbye diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1059.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1059.yaml index ce67fb866a..3d27bd6939 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1059.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1059.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - modules: - - | - package ex + - data: + a: + - 1 + - 2 + - 3 + - 4 + b: + v1: hello + v2: goodbye + modules: + - | + package ex - refs { - false - } else = __local6__ { - true - __local7__ = data.b.v2 - __local6__ = ["hello", __local7__] - } - note: elsekeyword/ref-head - query: data.ex.refs = x - want_result: - - x: - - hello - - goodbye + refs { + false + } else = __local6__ { + true + __local7__ = data.b.v2 + __local6__ = ["hello", __local7__] + } + note: elsekeyword/ref-head + query: data.ex.refs = x + want_result: + - x: + - hello + - goodbye diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1060.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1060.yaml index e1fb19ebb2..0d9d046b12 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1060.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1060.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - multiple_defined = false { - false - } else { - true - } else = false { - true - } - note: elsekeyword/first-match - query: data.ex.multiple_defined = x - want_result: - - x: true + multiple_defined = false { + false + } else { + true + } else = false { + true + } + note: elsekeyword/first-match + query: data.ex.multiple_defined = x + want_result: + - x: true diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1061.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1061.yaml index 7155278f18..ef7c0e5b4f 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1061.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1061.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - default default_1 = 1 + default default_1 = 1 - default_1 { - false - } + default_1 { + false + } - default_1 = 2 - note: elsekeyword/default-1 - query: data.ex.default_1 = x - want_result: - - x: 2 + default_1 = 2 + note: elsekeyword/default-1 + query: data.ex.default_1 = x + want_result: + - x: 2 diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1062.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1062.yaml index 74061d4fe3..9c1f1bd403 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1062.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1062.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - default default_2 = 2 + default default_2 = 2 - default_2 { - false - } + default_2 { + false + } - default_2 = 1 { - false - } - note: elsekeyword/default-2 - query: data.ex.default_2 = x - want_result: - - x: 2 + default_2 = 1 { + false + } + note: elsekeyword/default-2 + query: data.ex.default_2 = x + want_result: + - x: 2 diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1063.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1063.yaml index 5d9d8db80b..84f0167b53 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1063.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1063.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - multiple_roots { - false - } else = 1 { - false - } else = 2 { - true - } else = 3 { - true - } + multiple_roots { + false + } else = 1 { + false + } else = 2 { + true + } else = 3 { + true + } - multiple_roots = 2 + multiple_roots = 2 - multiple_roots = 3 { - false - } else = 2 { - true - } - note: elsekeyword/multiple-roots - query: data.ex.multiple_roots = x - want_result: - - x: 2 + multiple_roots = 3 { + false + } else = 2 { + true + } + note: elsekeyword/multiple-roots + query: data.ex.multiple_roots = x + want_result: + - x: 2 diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1064.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1064.yaml index c750a38a28..4ee575644e 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1064.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1064.yaml @@ -1,33 +1,34 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package ex + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package ex - indexed { - data.a[0] = 0 - } else = 2 { - data.a[0] = 1 - } else = 3 { - data.a[0] = 1 - } + indexed { + data.a[0] = 0 + } else = 2 { + data.a[0] = 1 + } else = 3 { + data.a[0] = 1 + } - indexed { - data.a[0] = 1 - data.a[2] = 2 - } else { - false - } else = 2 { - data.a[0] = x - x = 1 - data.a[2] = 3 - } - note: elsekeyword/indexed - query: data.ex.indexed = x - want_result: - - x: 2 + indexed { + data.a[0] = 1 + data.a[2] = 2 + } else { + false + } else = 2 { + data.a[0] = x + x = 1 + data.a[2] = 3 + } + note: elsekeyword/indexed + query: data.ex.indexed = x + want_result: + - x: 2 diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1065.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1065.yaml index 3b26a95075..510c16f1be 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1065.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1065.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - conflict_1 { - false - } else = true { - true - } + conflict_1 { + false + } else = true { + true + } - conflict_1 = false - note: elsekeyword/conflict-1 - query: data.ex.conflict_1 = x - want_error: complete rules must not produce multiple outputs - want_error_code: eval_conflict_error + conflict_1 = false + note: elsekeyword/conflict-1 + query: data.ex.conflict_1 = x + want_error: complete rules must not produce multiple outputs + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1066.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1066.yaml index 5d415d41fe..18ad2cb82b 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1066.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1066.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - modules: - - | - package ex + - data: + modules: + - | + package ex - conflict_2 { - false - } - else = false { - true - } + conflict_2 { + false + } + else = false { + true + } - conflict_2 { - false - } - else = true { - true - } - note: elsekeyword/conflict-2 - query: data.ex.conflict_2 = x - want_error: complete rules must not produce multiple outputs - want_error_code: eval_conflict_error - #TODO(sr) strict_error: true \ No newline at end of file + conflict_2 { + false + } + else = true { + true + } + note: elsekeyword/conflict-2 + query: data.ex.conflict_2 = x + want_error: complete rules must not produce multiple outputs + want_error_code: eval_conflict_error + # TODO(sr) strict_error: true diff --git a/test/cases/testdata/elsekeyword/test-elsekeyword-1067.yaml b/test/cases/testdata/elsekeyword/test-elsekeyword-1067.yaml index 5d358f57b9..ac0fa9b965 100644 --- a/test/cases/testdata/elsekeyword/test-elsekeyword-1067.yaml +++ b/test/cases/testdata/elsekeyword/test-elsekeyword-1067.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - fn_result = [x, y, z] { - data.ex.fn(101, true, x) - data.ex.fn(100, true, y) - data.ex.fn(100, false, z) - } + fn_result = [x, y, z] { + data.ex.fn(101, true, x) + data.ex.fn(100, true, y) + data.ex.fn(100, false, z) + } - fn(x, y) = "large" { - x > 100 - } else = "small" { - y = true - } else = "medium" { - true - } - note: elsekeyword/functions - query: data.ex.fn_result = x - want_result: - - x: - - large - - small - - medium + fn(x, y) = "large" { + x > 100 + } else = "small" { + y = true + } else = "medium" { + true + } + note: elsekeyword/functions + query: data.ex.fn_result = x + want_result: + - x: + - large + - small + - medium diff --git a/test/cases/testdata/embeddedvirtualdoc/test-embeddedvirtualdoc-0976.yaml b/test/cases/testdata/embeddedvirtualdoc/test-embeddedvirtualdoc-0976.yaml index 1a64d8a215..7d8cc72a85 100644 --- a/test/cases/testdata/embeddedvirtualdoc/test-embeddedvirtualdoc-0976.yaml +++ b/test/cases/testdata/embeddedvirtualdoc/test-embeddedvirtualdoc-0976.yaml @@ -1,44 +1,45 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - g: + - data: a: - - 1 - - 0 - - 0 - - 0 - b: - - 0 - - 2 - - 0 - - 0 - c: - - 0 - - 0 - - 0 - - 4 - input_term: '{}' - modules: - - | - package b.c.d + - 1 + - 2 + - 3 + - 4 + g: + a: + - 1 + - 0 + - 0 + - 0 + b: + - 0 + - 2 + - 0 + - 0 + c: + - 0 + - 0 + - 0 + - 4 + input_term: "{}" + modules: + - | + package b.c.d - p[x] { - data.a[i] = x - data.b.c.d.q[x] - } + p[x] { + data.a[i] = x + data.b.c.d.q[x] + } - q[x] { - data.g[j][k] = x - } - note: embeddedvirtualdoc/deep embedded vdoc - query: data.b.c.d.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 4 + q[x] { + data.g[j][k] = x + } + note: embeddedvirtualdoc/deep embedded vdoc + query: data.b.c.d.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 4 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0545.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0545.yaml index 9d4962ed16..c78d018826 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0545.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0545.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - true = false - } - note: 'eqexpr/undefined: same type' - query: data.generated.p = x - want_result: [] + p { + true = false + } + note: "eqexpr/undefined: same type" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0546.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0546.yaml index 17ab888fe0..3caa66c12c 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0546.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0546.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - [1, 2, 3] = [1, 3, 2] - } - note: 'eqexpr/undefined: array order' - query: data.generated.p = x - want_result: [] + p { + [1, 2, 3] = [1, 3, 2] + } + note: "eqexpr/undefined: array order" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0547.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0547.yaml index b51b562651..4c237455f9 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0547.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0547.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[3] = 9999 - } - note: 'eqexpr/undefined: ref value' - query: data.generated.p = x - want_result: [] + p { + data.a[3] = 9999 + } + note: "eqexpr/undefined: ref value" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0548.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0548.yaml index 6f1be6ca1e..3ba7bb4bb2 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0548.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0548.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[i] = 9999 - } - note: 'eqexpr/undefined: ref values' - query: data.generated.p = x - want_result: [] + p { + data.a[i] = 9999 + } + note: "eqexpr/undefined: ref values" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0549.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0549.yaml index 420343eb71..403dc3bd16 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0549.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0549.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[3] = x - x = 3 - } - note: 'eqexpr/undefined: ground var' - query: data.generated.p = x - want_result: [] + p { + data.a[3] = x + x = 3 + } + note: "eqexpr/undefined: ground var" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0550.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0550.yaml index 8f84e394e2..4e87cb0c64 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0550.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0550.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - [1, x, x] = [1, 2, 3] - } - note: 'eqexpr/undefined: array var 1' - query: data.generated.p = x - want_result: [] + p { + [1, x, x] = [1, 2, 3] + } + note: "eqexpr/undefined: array var 1" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0551.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0551.yaml index f1b0412ba1..6d0e2ab8e7 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0551.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0551.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - [1, x, 3] = [1, 2, x] - } - note: 'eqexpr/undefined: array var 2' - query: data.generated.p = x - want_result: [] + p { + [1, x, 3] = [1, 2, x] + } + note: "eqexpr/undefined: array var 2" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0552.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0552.yaml index 31c3450a83..bbc690d51c 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0552.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0552.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = data.a - __local1__ = data.a - {"a": 1, "b": 2} = {"a": __local0__, "b": __local1__} - } - note: 'eqexpr/undefined: object var 1' - query: data.generated.p = x - want_result: [] + p { + __local0__ = data.a + __local1__ = data.a + {"a": 1, "b": 2} = {"a": __local0__, "b": __local1__} + } + note: "eqexpr/undefined: object var 1" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0553.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0553.yaml index 3b2d40fc4a..f7a0f0d437 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0553.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0553.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - [[1, x], [3, x]] = [[1, 2], [3, 4]] - } - note: 'eqexpr/undefined: array deep var 1' - query: data.generated.p = x - want_result: [] + p { + [[1, x], [3, x]] = [[1, 2], [3, 4]] + } + note: "eqexpr/undefined: array deep var 1" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0554.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0554.yaml index b3e3d4e073..fdddbc253a 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0554.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0554.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - [[1, x], [3, 4]] = [[1, 2], [x, 4]] - } - note: 'eqexpr/undefined: array deep var 2' - query: data.generated.p = x - want_result: [] + p { + [[1, x], [3, 4]] = [[1, 2], [x, 4]] + } + note: "eqexpr/undefined: array deep var 2" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0555.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0555.yaml index cfc76a4319..84c1789611 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0555.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0555.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - {1, 2, 3} = {1, 2, 4} - } - note: 'eqexpr/undefined: set' - query: data.generated.p = x - want_result: [] + p { + {1, 2, 3} = {1, 2, 4} + } + note: "eqexpr/undefined: set" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0556.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0556.yaml index aeccc6a646..fba0c13476 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0556.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0556.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - true = true - } - note: 'eqexpr/ground: bool' - query: data.generated.p = x - want_result: - - x: true + p { + true = true + } + note: "eqexpr/ground: bool" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0557.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0557.yaml index 970ff62cf7..4604976eb6 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0557.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0557.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - "string" = "string" - } - note: 'eqexpr/ground: string' - query: data.generated.p = x - want_result: - - x: true + p { + "string" = "string" + } + note: "eqexpr/ground: string" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0558.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0558.yaml index ebeccb4ad7..0af8cb0e35 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0558.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0558.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - 17 = 17 - } - note: 'eqexpr/ground: number' - query: data.generated.p = x - want_result: - - x: true + p { + 17 = 17 + } + note: "eqexpr/ground: number" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0559.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0559.yaml index f1e4fba313..bfc505a2c2 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0559.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0559.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - null = null - } - note: 'eqexpr/ground: null' - query: data.generated.p = x - want_result: - - x: true + p { + null = null + } + note: "eqexpr/ground: null" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0560.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0560.yaml index c0ad231288..b7202e4046 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0560.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0560.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - [1, 2, 3] = [1, 2, 3] - } - note: 'eqexpr/ground: array' - query: data.generated.p = x - want_result: - - x: true + p { + [1, 2, 3] = [1, 2, 3] + } + note: "eqexpr/ground: array" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0561.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0561.yaml index a070bd0a4e..ffb64925f4 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0561.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0561.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - {1, 2, 3} = {1, 2, 3} - } - note: 'eqexpr/ground: set' - query: data.generated.p = x - want_result: - - x: true + p { + {1, 2, 3} = {1, 2, 3} + } + note: "eqexpr/ground: set" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0562.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0562.yaml index ce74dbd3f2..f47aebfa64 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0562.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0562.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - {"a": [1, 2, 3], "b": false} = {"a": [1, 2, 3], "b": false} - } - note: 'eqexpr/ground: object' - query: data.generated.p = x - want_result: - - x: true + p { + {"a": [1, 2, 3], "b": false} = {"a": [1, 2, 3], "b": false} + } + note: "eqexpr/ground: object" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0563.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0563.yaml index 9da082c796..fa9ec016b6 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0563.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0563.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[2] = 3 - } - note: 'eqexpr/ground: ref 1' - query: data.generated.p = x - want_result: - - x: true + p { + data.a[2] = 3 + } + note: "eqexpr/ground: ref 1" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0564.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0564.yaml index 453e0da8fb..89585ea417 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0564.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0564.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: - b: - v2: goodbye - modules: - - | - package generated + - data: + b: + v2: goodbye + modules: + - | + package generated - p { - data.b.v2 = "goodbye" - } - note: 'eqexpr/ground: ref 2' - query: data.generated.p = x - want_result: - - x: true + p { + data.b.v2 = "goodbye" + } + note: "eqexpr/ground: ref 2" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0565.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0565.yaml index a7a81482ad..849f13857e 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0565.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0565.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - d: - e: - - bar - - baz - modules: - - | - package generated + - data: + d: + e: + - bar + - baz + modules: + - | + package generated - p { - data.d.e = ["bar", "baz"] - } - note: 'eqexpr/ground: ref 3' - query: data.generated.p = x - want_result: - - x: true + p { + data.d.e = ["bar", "baz"] + } + note: "eqexpr/ground: ref 3" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0566.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0566.yaml index 12105d2e72..5c745009d5 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0566.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0566.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p { - data.c[0].x[1] = data.c[0].z.q - } - note: 'eqexpr/ground: ref 4' - query: data.generated.p = x - want_result: - - x: true + p { + data.c[0].x[1] = data.c[0].z.q + } + note: "eqexpr/ground: ref 4" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0567.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0567.yaml index 4af687659d..e4cb094e74 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0567.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0567.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - z = 42 - y = z - x = y - } - note: 'eqexpr/var: x=y=z' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 42 + p[x] { + z = 42 + y = z + x = y + } + note: "eqexpr/var: x=y=z" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 42 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0568.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0568.yaml index 77fc8f1245..8c8fa34942 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0568.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0568.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[3] = x - x = 4 - } - note: 'eqexpr/var: ref value' - query: data.generated.p = x - want_result: - - x: true + p { + data.a[3] = x + x = 4 + } + note: "eqexpr/var: ref value" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0569.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0569.yaml index fc7cc52651..9dcf251818 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0569.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0569.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[i] = x - x = 2 - } - note: 'eqexpr/var: ref values' - query: data.generated.p = x - want_result: - - x: true + p { + data.a[i] = x + x = 2 + } + note: "eqexpr/var: ref values" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0570.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0570.yaml index f2e18d1a58..bef367e94d 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0570.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0570.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[i] = 4 - x = 3 - } - note: 'eqexpr/var: ref key' - query: data.generated.p = x - want_result: - - x: true + p { + data.a[i] = 4 + x = 3 + } + note: "eqexpr/var: ref key" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0571.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0571.yaml index dd9ed0cfde..084142379e 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0571.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0571.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[i] = x - i = 2 - } - note: 'eqexpr/var: ref keys' - query: data.generated.p = x - want_result: - - x: true + p { + data.a[i] = x + i = 2 + } + note: "eqexpr/var: ref keys" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0572.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0572.yaml index ae3339c2f8..f8a2f37080 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0572.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0572.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - i = 2 - data.a[i] = x - } - note: 'eqexpr/var: ref ground var' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 + p[x] { + i = 2 + data.a[i] = x + } + note: "eqexpr/var: ref ground var" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0573.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0573.yaml index f24ed042d4..9160fa7fc2 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0573.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0573.yaml @@ -1,30 +1,31 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[x] { - data.c[0].x[i] = data.c[0].z[j] - x = [i, j] - } - note: 'eqexpr/var: ref ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 0 - - p - - - 1 - - q + p[x] { + data.c[0].x[i] = data.c[0].z[j] + x = [i, j] + } + note: "eqexpr/var: ref ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 0 + - p + - - 1 + - q diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0574.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0574.yaml index fe2736a4c1..434a60d7f8 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0574.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0574.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - [1, x, 3] = [1, 2, 3] - } - note: 'eqexpr/pattern: array' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 + p[x] { + [1, x, 3] = [1, 2, 3] + } + note: "eqexpr/pattern: array" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0575.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0575.yaml index 08181885c8..ba1c38c3f3 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0575.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0575.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - [[1, x], [3, 4]] = [[1, 2], [3, 4]] - } - note: 'eqexpr/pattern: array 2' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 + p[x] { + [[1, x], [3, 4]] = [[1, 2], [3, 4]] + } + note: "eqexpr/pattern: array 2" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0576.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0576.yaml index 550d539016..cd4f443e9e 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0576.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0576.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - [2, x, 3] = [x, 2, 3] - } - note: 'eqexpr/pattern: array same var' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 + p[x] { + [2, x, 3] = [x, 2, 3] + } + note: "eqexpr/pattern: array same var" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0577.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0577.yaml index 9d8262de39..9a983e8fbd 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0577.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0577.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[z] { - [1, x, y] = [1, 2, 3] - z = [x, y] - } - note: 'eqexpr/pattern: array multiple vars' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 2 - - 3 + p[z] { + [1, x, y] = [1, 2, 3] + z = [x, y] + } + note: "eqexpr/pattern: array multiple vars" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 2 + - 3 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0578.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0578.yaml index adccb42a9c..74b94f35c1 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0578.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0578.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[z] { - [1, x, 3] = [y, 2, 3] - z = [x, y] - } - note: 'eqexpr/pattern: array multiple vars 2' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 2 - - 1 + p[z] { + [1, x, 3] = [y, 2, 3] + z = [x, y] + } + note: "eqexpr/pattern: array multiple vars 2" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 2 + - 1 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0579.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0579.yaml index 50988f0408..4d85c28259 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0579.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0579.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.a[0] - __local1__ = data.a[1] - __local2__ = data.a[2] - __local3__ = data.a[3] - [1, 2, 3, x] = [__local0__, __local1__, __local2__, __local3__] - } - note: 'eqexpr/pattern: array ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 4 + p[x] { + __local0__ = data.a[0] + __local1__ = data.a[1] + __local2__ = data.a[2] + __local3__ = data.a[3] + [1, 2, 3, x] = [__local0__, __local1__, __local2__, __local3__] + } + note: "eqexpr/pattern: array ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 4 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0580.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0580.yaml index 83cf6810b1..f02ba8eb85 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0580.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0580.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.a[0] - __local1__ = data.a[1] - __local2__ = data.a[2] - __local3__ = data.a[i] - [1, 2, 3, x] = [__local0__, __local1__, __local2__, __local3__] - } - note: 'eqexpr/pattern: array non-ground ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + p[x] { + __local0__ = data.a[0] + __local1__ = data.a[1] + __local2__ = data.a[2] + __local3__ = data.a[i] + [1, 2, 3, x] = [__local0__, __local1__, __local2__, __local3__] + } + note: "eqexpr/pattern: array non-ground ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0581.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0581.yaml index a2b66cba62..537a0f72b1 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0581.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0581.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[x] { - [true, false, x] = data.c[i][j] - } - note: 'eqexpr/pattern: array = ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - foo + p[x] { + [true, false, x] = data.c[i][j] + } + note: "eqexpr/pattern: array = ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - foo diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0582.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0582.yaml index 724f4b12a8..da2c23f3f0 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0582.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0582.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[x] { - data.c[i][j] = [true, false, x] - } - note: 'eqexpr/pattern: array = ref (reversed)' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - foo + p[x] { + data.c[i][j] = [true, false, x] + } + note: "eqexpr/pattern: array = ref (reversed)" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - foo diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0583.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0583.yaml index a13c3b0397..73d7bf958b 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0583.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0583.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[y] { - x = 3 - [1, 2, x] = y - } - note: 'eqexpr/pattern: array = var' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - 2 - - 3 + p[y] { + x = 3 + [1, 2, x] = y + } + note: "eqexpr/pattern: array = var" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - 2 + - 3 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0584.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0584.yaml index f5b8a4fa4b..f5576b9f97 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0584.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0584.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[y] { - {"x": y} = {"x": "y"} - } - note: 'eqexpr/pattern: object val' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - "y" + p[y] { + {"x": y} = {"x": "y"} + } + note: "eqexpr/pattern: object val" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - "y" diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0585.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0585.yaml index d0b6966d45..e25be3e36d 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0585.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0585.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - {"x": x, "y": x} = {"x": 1, "y": 1} - } - note: 'eqexpr/pattern: object same var' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + p[x] { + {"x": x, "y": x} = {"x": 1, "y": 1} + } + note: "eqexpr/pattern: object same var" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0586.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0586.yaml index 3f5d399a60..45df7ab32b 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0586.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0586.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[z] { - {"x": x, "y": y} = {"x": 1, "y": 2} - z = [x, y] - } - note: 'eqexpr/pattern: object multiple vars' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - 2 + p[z] { + {"x": x, "y": y} = {"x": 1, "y": 2} + z = [x, y] + } + note: "eqexpr/pattern: object multiple vars" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - 2 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0587.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0587.yaml index 309575dec2..a7d1007e04 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0587.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0587.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[z] { - {"x": x, "y": 2} = {"x": 1, "y": y} - z = [x, y] - } - note: 'eqexpr/pattern: object multiple vars 2' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - 2 + p[z] { + {"x": x, "y": 2} = {"x": 1, "y": y} + z = [x, y] + } + note: "eqexpr/pattern: object multiple vars 2" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - 2 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0588.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0588.yaml index 3f36a99973..6d10a703e9 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0588.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0588.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[x] { - __local0__ = data.c[0].x[0] - {"p": __local0__, "q": x} = data.c[i][j] - } - note: 'eqexpr/pattern: object ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + __local0__ = data.c[0].x[0] + {"p": __local0__, "q": x} = data.c[i][j] + } + note: "eqexpr/pattern: object ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0589.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0589.yaml index fe3455d555..3f9efdbe11 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0589.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0589.yaml @@ -1,29 +1,30 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[x] { - __local0__ = data.c[0].x[i] - {"a": 1, "b": x} = {"a": 1, "b": __local0__} - } - note: 'eqexpr/pattern: object non-ground ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false - - true - - foo + p[x] { + __local0__ = data.c[0].x[i] + {"a": 1, "b": x} = {"a": 1, "b": __local0__} + } + note: "eqexpr/pattern: object non-ground ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false + - true + - foo diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0590.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0590.yaml index 40ddd21eec..ac5a24505f 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0590.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0590.yaml @@ -1,30 +1,31 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[x] { - {"p": y, "q": z} = data.c[i][j] - x = [i, j, y, z] - } - note: 'eqexpr/pattern: object = ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 0 - - z - - true - - false + p[x] { + {"p": y, "q": z} = data.c[i][j] + x = [i, j, y, z] + } + note: "eqexpr/pattern: object = ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 0 + - z + - true + - false diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0591.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0591.yaml index 75cff90897..d068c971e7 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0591.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0591.yaml @@ -1,30 +1,31 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[x] { - data.c[i][j] = {"p": y, "q": z} - x = [i, j, y, z] - } - note: 'eqexpr/pattern: object = ref (reversed)' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 0 - - z - - true - - false + p[x] { + data.c[i][j] = {"p": y, "q": z} + x = [i, j, y, z] + } + note: "eqexpr/pattern: object = ref (reversed)" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 0 + - z + - true + - false diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0592.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0592.yaml index 401d36b306..17538a8cb2 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0592.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0592.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - y = 2 - {"a": 1, "b": y} = x - } - note: 'eqexpr/pattern: object = var' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - a: 1 - b: 2 + p[x] { + y = 2 + {"a": 1, "b": y} = x + } + note: "eqexpr/pattern: object = var" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - a: 1 + b: 2 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0593.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0593.yaml index 3e981da1b1..a9f7fdf03c 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0593.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0593.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - f: - - xs: - - 1 - ys: - - 2 - - xs: - - 2 - ys: - - 3 - modules: - - | - package generated + - data: + f: + - xs: + - 1 + ys: + - 2 + - xs: + - 2 + ys: + - 3 + modules: + - | + package generated - p[ys] { - data.f[i] = {"xs": [2], "ys": ys} - } - note: 'eqexpr/pattern: object/array nested' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 3 + p[ys] { + data.f[i] = {"xs": [2], "ys": ys} + } + note: "eqexpr/pattern: object/array nested" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 3 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0594.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0594.yaml index f7c2339cc1..db0b05d052 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0594.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0594.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - f: - - xs: - - 1 - ys: - - 2 - - xs: - - 2 - ys: - - 3 - modules: - - | - package generated + - data: + f: + - xs: + - 1 + ys: + - 2 + - xs: + - 2 + ys: + - 3 + modules: + - | + package generated - p[v] { - data.f[i] = {"xs": [x], "ys": [y]} - v = [x, y] - } - note: 'eqexpr/pattern: object/array nested 2' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - 2 - - - 2 - - 3 + p[v] { + data.f[i] = {"xs": [x], "ys": [y]} + v = [x, y] + } + note: "eqexpr/pattern: object/array nested 2" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - 2 + - - 2 + - 3 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0595.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0595.yaml index 3c32a62d3c..6a742de34c 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0595.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0595.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - x = 2 - {1, 3, x} = {1, 2, 3} - } - note: 'eqexpr/unordered: sets' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 + p[x] { + x = 2 + {1, 3, x} = {1, 2, 3} + } + note: "eqexpr/unordered: sets" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0596.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0596.yaml index a4232fa9ad..6fb6537d5b 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0596.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0596.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p[x] { - x = "a" - {x: 1} = {"a": 1} - } - note: 'eqexpr/unordered: object keys' - query: data.generated.p = x - want_result: - - x: - - a + p[x] { + x = "a" + {x: 1} = {"a": 1} + } + note: "eqexpr/unordered: object keys" + query: data.generated.p = x + want_result: + - x: + - a diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0597.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0597.yaml index 65ff297ff2..31ac5a9877 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0597.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0597.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - x = "a" - {"a": 1} = {x: 1} - } - note: 'eqexpr/unordered: object keys (reverse)' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - a + p[x] { + x = "a" + {"a": 1} = {x: 1} + } + note: "eqexpr/unordered: object keys (reverse)" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - a diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0598.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0598.yaml index cb1d7260db..baec9a2409 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0598.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0598.yaml @@ -1,33 +1,34 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - g: + - data: a: - - 1 - - 0 - - 0 - - 0 - b: - - 0 - - 2 - - 0 - - 0 - c: - - 0 - - 0 - - 0 - - 4 - modules: - - | - package generated + - 1 + - 2 + - 3 + - 4 + g: + a: + - 1 + - 0 + - 0 + - 0 + b: + - 0 + - 2 + - 0 + - 0 + c: + - 0 + - 0 + - 0 + - 4 + modules: + - | + package generated - p { - data.a[i] = data.g[i][j] - } - note: 'eqexpr/indexing: intersection' - query: data.generated.p = x - want_result: [] + p { + data.a[i] = data.g[i][j] + } + note: "eqexpr/indexing: intersection" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/eqexpr/test-eqexpr-0599.yaml b/test/cases/testdata/eqexpr/test-eqexpr-0599.yaml index b943a8c5ae..72b51dda32 100644 --- a/test/cases/testdata/eqexpr/test-eqexpr-0599.yaml +++ b/test/cases/testdata/eqexpr/test-eqexpr-0599.yaml @@ -1,3 +1,4 @@ +--- cases: - input_term: "1.0" modules: diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0525.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0525.yaml index e815fcc5e1..095048effe 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0525.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0525.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = true - note: evaltermexpr/true - query: data.generated.p = x - want_result: - - x: true + p = true + note: evaltermexpr/true + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0526.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0526.yaml index 772bae9ae4..ec784ba31f 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0526.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0526.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - false - } - note: evaltermexpr/false - query: data.generated.p = x - want_result: [] + p { + false + } + note: evaltermexpr/false + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0527.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0527.yaml index 6649b94c14..dad32781e2 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0527.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0527.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - -3.14 - } - note: evaltermexpr/number non-zero - query: data.generated.p = x - want_result: - - x: true + p { + -3.14 + } + note: evaltermexpr/number non-zero + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0528.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0528.yaml index 13823db18b..1d0e950059 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0528.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0528.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - null - } - note: evaltermexpr/number zero - query: data.generated.p = x - want_result: - - x: true + p { + null + } + note: evaltermexpr/number zero + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0529.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0529.yaml index ca8e8e6c91..4e82e838e0 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0529.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0529.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - null - } - note: evaltermexpr/null - query: data.generated.p = x - want_result: - - x: true + p { + null + } + note: evaltermexpr/null + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0530.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0530.yaml index f8d666bab9..fb9ea30cba 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0530.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0530.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - "abc" - } - note: evaltermexpr/string non-empty - query: data.generated.p = x - want_result: - - x: true + p { + "abc" + } + note: evaltermexpr/string non-empty + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0531.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0531.yaml index 89d495b74b..d9c91ba910 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0531.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0531.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - "" - } - note: evaltermexpr/string empty - query: data.generated.p = x - want_result: - - x: true + p { + "" + } + note: evaltermexpr/string empty + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0532.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0532.yaml index 4db4af1a38..fbb62ea48b 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0532.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0532.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - [1, 2, 3] - } - note: evaltermexpr/array non-empty - query: data.generated.p = x - want_result: - - x: true + p { + [1, 2, 3] + } + note: evaltermexpr/array non-empty + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0533.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0533.yaml index 47dd8d0009..103479786e 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0533.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0533.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - [] - } - note: evaltermexpr/array empty - query: data.generated.p = x - want_result: - - x: true + p { + [] + } + note: evaltermexpr/array empty + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0534.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0534.yaml index 2a06741dec..6c686f2831 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0534.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0534.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - {"a": 1} - } - note: evaltermexpr/object non-empty - query: data.generated.p = x - want_result: - - x: true + p { + {"a": 1} + } + note: evaltermexpr/object non-empty + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0535.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0535.yaml index ef402da881..0ac7bf97df 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0535.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0535.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - {} - } - note: evaltermexpr/object empty - query: data.generated.p = x - want_result: - - x: true + p { + {} + } + note: evaltermexpr/object empty + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0536.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0536.yaml index 58106e1a72..079eac4d98 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0536.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0536.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - {1, 2, 3} - } - note: evaltermexpr/set non-empty - query: data.generated.p = x - want_result: - - x: true + p { + {1, 2, 3} + } + note: evaltermexpr/set non-empty + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0537.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0537.yaml index cc6e52e1b0..325698d0c3 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0537.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0537.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - set() - } - note: evaltermexpr/set empty - query: data.generated.p = x - want_result: - - x: true + p { + set() + } + note: evaltermexpr/set empty + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0538.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0538.yaml index 574a1f364a..a1bc5c8de7 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0538.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0538.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[i] - } - note: evaltermexpr/ref - query: data.generated.p = x - want_result: - - x: true + p { + data.a[i] + } + note: evaltermexpr/ref + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0539.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0539.yaml index 6a650817da..478642cc76 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0539.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0539.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.deadbeef[i] - } - note: evaltermexpr/ref undefined - query: data.generated.p = x - want_result: [] + p { + data.deadbeef[i] + } + note: evaltermexpr/ref undefined + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0540.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0540.yaml index 8b4f0f5bce..cc42d11867 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0540.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0540.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[true] - } - note: evaltermexpr/ref undefined (path) - query: data.generated.p = x - want_result: [] + p { + data.a[true] + } + note: evaltermexpr/ref undefined (path) + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0541.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0541.yaml index 7b1fd27a10..2c5aabc8e3 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0541.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0541.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p { - data.c[0].x[1] - } - note: evaltermexpr/ref false - query: data.generated.p = x - want_result: [] + p { + data.c[0].x[1] + } + note: evaltermexpr/ref false + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0542.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0542.yaml index 356ad7be74..55fe5b53c6 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0542.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0542.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - [x | x = 1] - } - note: evaltermexpr/array comprehension - query: data.generated.p = x - want_result: - - x: true + p { + [x | x = 1] + } + note: evaltermexpr/array comprehension + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0543.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0543.yaml index 4afbaafd44..f2f2723558 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0543.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0543.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - [x | x = 1; x = 2] - } - note: evaltermexpr/array comprehension empty - query: data.generated.p = x - want_result: - - x: true + p { + [x | x = 1; x = 2] + } + note: evaltermexpr/array comprehension empty + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0544.yaml b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0544.yaml index a8473ecfae..b57f424144 100644 --- a/test/cases/testdata/evaltermexpr/test-evaltermexpr-0544.yaml +++ b/test/cases/testdata/evaltermexpr/test-evaltermexpr-0544.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.a[i] = x - x - i - } - note: evaltermexpr/arbitrary position - query: data.generated.p = x - want_result: - - x: true + p { + data.a[i] = x + x + i + } + note: evaltermexpr/arbitrary position + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/every/every.yaml b/test/cases/testdata/every/every.yaml index e4fea5d06c..b2d1da96a6 100644 --- a/test/cases/testdata/every/every.yaml +++ b/test/cases/testdata/every/every.yaml @@ -1,131 +1,132 @@ +--- cases: -- data: - modules: - - | - package test - import future.keywords.every + - data: + modules: + - | + package test + import future.keywords.every - p { - every x in [] { x != x } - } - note: every/empty domain - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - import future.keywords.every + p { + every x in [] { x != x } + } + note: every/empty domain + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + import future.keywords.every - p { - every _ in input { true } - } - note: every/domain undefined - query: data.test.p = x - want_result: [] -- data: - modules: - - | - package test - import future.keywords.every + p { + every _ in input { true } + } + note: every/domain undefined + query: data.test.p = x + want_result: [] + - data: + modules: + - | + package test + import future.keywords.every - p { - every x in numbers.range(1, 10) { x >= 1 } - } - note: every/domain is call - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - import future.keywords.every + p { + every x in numbers.range(1, 10) { x >= 1 } + } + note: every/domain is call + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + import future.keywords.every - p { - every k, v in [1, 2] { k+1 == v } - } - note: every/simple key/val - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - import future.keywords.every + p { + every k, v in [1, 2] { k+1 == v } + } + note: every/simple key/val + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + import future.keywords.every - p { - i := 10 - every k, v in [1, 2] { k+v != i } - } - note: every/outer bindings - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - import future.keywords.every + p { + i := 10 + every k, v in [1, 2] { k+v != i } + } + note: every/outer bindings + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + import future.keywords.every - p { - every v in [1, 2] { v != 1 } - } - note: every/simple failure, first - query: data.test.p = x - want_result: [] -- data: - modules: - - | - package test - import future.keywords.every + p { + every v in [1, 2] { v != 1 } + } + note: every/simple failure, first + query: data.test.p = x + want_result: [] + - data: + modules: + - | + package test + import future.keywords.every - p { - every v in [1, 2] { v != 2 } - } - note: every/simple failure, last - query: data.test.p = x - want_result: [] -- data: - modules: - - | - package test - import future.keywords.every + p { + every v in [1, 2] { v != 2 } + } + note: every/simple failure, last + query: data.test.p = x + want_result: [] + - data: + modules: + - | + package test + import future.keywords.every - p { - every v in input { v == 1 } with input as [1, 1, 1] - } - note: 'every/with: domain' - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - import future.keywords.every + p { + every v in input { v == 1 } with input as [1, 1, 1] + } + note: "every/with: domain" + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + import future.keywords.every - p { - every v in [1, 2] { v in input } with input as [1, 2, 1, 0] - } - note: 'every/with: body' - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - import future.keywords.every + p { + every v in [1, 2] { v in input } with input as [1, 2, 1, 0] + } + note: "every/with: body" + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + import future.keywords.every - p[v] { - every v in [1, 2] { v < 3 } - v := 10 - v > 3 - } - note: 'every/followed by another query' - query: data.test.p = x - want_result: - - x: [10] \ No newline at end of file + p[v] { + every v in [1, 2] { v < 3 } + v := 10 + v > 3 + } + note: "every/followed by another query" + query: data.test.p = x + want_result: + - x: [10] diff --git a/test/cases/testdata/every/textbook.yaml b/test/cases/testdata/every/textbook.yaml index d434c9a91f..6cb8f1aac5 100644 --- a/test/cases/testdata/every/textbook.yaml +++ b/test/cases/testdata/every/textbook.yaml @@ -1,148 +1,149 @@ +--- cases: -- data: - input: - containers: - - image: bitcoin-miner - - image: acmecorp.com/webapp - modules: - - | - package test - import future.keywords.every + - data: + input: + containers: + - image: bitcoin-miner + - image: acmecorp.com/webapp + modules: + - | + package test + import future.keywords.every - p { - every x in input.containers { - startswith(x.image, "acmecorp.com/") - } - } - note: every/example, fail - query: data.test.p = x - want_result: [] -- data: - input: - containers: - - image: acmecorp.com/bitcoin-miner - - image: acmecorp.com/webapp - modules: - - | - package test - import future.keywords.every + p { + every x in input.containers { + startswith(x.image, "acmecorp.com/") + } + } + note: every/example, fail + query: data.test.p = x + want_result: [] + - data: + input: + containers: + - image: acmecorp.com/bitcoin-miner + - image: acmecorp.com/webapp + modules: + - | + package test + import future.keywords.every - p { - every x in input.containers { - startswith(x.image, "acmecorp.com/") - } - } - note: every/example, success - query: data.test.p = x - want_result: - - x: true -- data: - input: - containers: - - image: acmecorp.com/bitcoin-miner - - image: acmecorp.com/webapp - init_containers: - - image: acmecorp.com/bitcoin-miner - modules: - - | - package test - import future.keywords.every + p { + every x in input.containers { + startswith(x.image, "acmecorp.com/") + } + } + note: every/example, success + query: data.test.p = x + want_result: + - x: true + - data: + input: + containers: + - image: acmecorp.com/bitcoin-miner + - image: acmecorp.com/webapp + init_containers: + - image: acmecorp.com/bitcoin-miner + modules: + - | + package test + import future.keywords.every - p { - containers := { c | c := input.containers[_] } - init_containers := { c | c := input.init_containers[_] } - every x in containers | init_containers { - startswith(x.image, "acmecorp.com/") - } - } - note: every/example with two sets - query: data.test.p = x - want_result: - - x: true -- data: - input: - containers: - - image: acmecorp.com/bitcoin-miner - - image: acmecorp.com/webapp - init_containers: - - image: bitcoin-miner - modules: - - | - package test - import future.keywords.every + p { + containers := { c | c := input.containers[_] } + init_containers := { c | c := input.init_containers[_] } + every x in containers | init_containers { + startswith(x.image, "acmecorp.com/") + } + } + note: every/example with two sets + query: data.test.p = x + want_result: + - x: true + - data: + input: + containers: + - image: acmecorp.com/bitcoin-miner + - image: acmecorp.com/webapp + init_containers: + - image: bitcoin-miner + modules: + - | + package test + import future.keywords.every - p { - containers := { c | c := input.containers[_] } - init_containers := { c | c := input.init_containers[_] } - every x in containers | init_containers { - startswith(x.image, "acmecorp.com/") - } - } - note: every/example with two sets (fail) - query: data.test.p = x - want_result: [] -- data: - input: - containers: - - image: hooli.com/bitcoin-miner - - image: acmecorp.net/webapp - - image: nginx - modules: - - | - package test - import future.keywords.every + p { + containers := { c | c := input.containers[_] } + init_containers := { c | c := input.init_containers[_] } + every x in containers | init_containers { + startswith(x.image, "acmecorp.com/") + } + } + note: every/example with two sets (fail) + query: data.test.p = x + want_result: [] + - data: + input: + containers: + - image: hooli.com/bitcoin-miner + - image: acmecorp.net/webapp + - image: nginx + modules: + - | + package test + import future.keywords.every - allowed_repos := {"hooli.com/", "acmecorp.net/"} + allowed_repos := {"hooli.com/", "acmecorp.net/"} - p { - every c in input.containers { - some repo in allowed_repos - startswith(c.image, repo) - } - } - note: every/example every/some, fail - query: data.test.p = x - want_result: [] -- data: - input: - containers: - - image: hooli.com/bitcoin-miner - - image: acmecorp.net/webapp - - image: hooli.com/nginx - modules: - - | - package test - import future.keywords.every + p { + every c in input.containers { + some repo in allowed_repos + startswith(c.image, repo) + } + } + note: every/example every/some, fail + query: data.test.p = x + want_result: [] + - data: + input: + containers: + - image: hooli.com/bitcoin-miner + - image: acmecorp.net/webapp + - image: hooli.com/nginx + modules: + - | + package test + import future.keywords.every - allowed_repos := {"hooli.com/", "acmecorp.net/"} + allowed_repos := {"hooli.com/", "acmecorp.net/"} - p { - every c in input.containers { - some repo in allowed_repos - startswith(c.image, repo) - } - } - note: every/example every/some, success - query: data.test.p = x - want_result: - - x: true -- data: - input: - servers: - - ports: [80, 443] - - ports: [80] - modules: - - | - package test - import future.keywords.every + p { + every c in input.containers { + some repo in allowed_repos + startswith(c.image, repo) + } + } + note: every/example every/some, success + query: data.test.p = x + want_result: + - x: true + - data: + input: + servers: + - ports: [80, 443] + - ports: [80] + modules: + - | + package test + import future.keywords.every - deny { - some s in input.servers - every port in s.ports { - port != 443 - } - } - note: every/example some/every - query: data.test.deny = x - want_result: - - x: true + deny { + some s in input.servers + every port in s.ports { + port != 443 + } + } + note: every/example some/every + query: data.test.deny = x + want_result: + - x: true diff --git a/test/cases/testdata/example/test-example-1070.yaml b/test/cases/testdata/example/test-example-1070.yaml index e46ac20dc5..3d4ab2c25a 100644 --- a/test/cases/testdata/example/test-example-1070.yaml +++ b/test/cases/testdata/example/test-example-1070.yaml @@ -1,87 +1,88 @@ +--- cases: -- data: - networks: - - id: n1 - public: false - - id: n2 - public: false - - id: n3 - public: true - ports: - - id: p1 + - data: networks: - - n1 - - id: p2 - networks: - - n3 - - id: p3 - networks: - - n2 - servers: - - id: s1 - name: app - ports: - - p1 - - p2 - - p3 - protocols: - - https - - ssh - - id: s2 - name: db - ports: - - p3 - protocols: - - mysql - - id: s3 - name: cache + - id: n1 + public: false + - id: n2 + public: false + - id: n3 + public: true ports: - - p3 - protocols: - - memcache - - http - - id: s4 - name: dev - ports: - - p1 - - p2 - protocols: - - http - input_term: '{}' - modules: - - | - package opa.example + - id: p1 + networks: + - n1 + - id: p2 + networks: + - n3 + - id: p3 + networks: + - n2 + servers: + - id: s1 + name: app + ports: + - p1 + - p2 + - p3 + protocols: + - https + - ssh + - id: s2 + name: db + ports: + - p3 + protocols: + - mysql + - id: s3 + name: cache + ports: + - p3 + protocols: + - memcache + - http + - id: s4 + name: dev + ports: + - p1 + - p2 + protocols: + - http + input_term: "{}" + modules: + - | + package opa.example - public_servers[server] { - server = data.servers[_] - server.ports[_] = data.ports[i].id - data.ports[i].networks[_] = data.networks[j].id - data.networks[j].public = true - } + public_servers[server] { + server = data.servers[_] + server.ports[_] = data.ports[i].id + data.ports[i].networks[_] = data.networks[j].id + data.networks[j].public = true + } - violations[server] { - server = data.servers[_] - server.protocols[_] = "http" - data.opa.example.public_servers[server] - } - note: example/public servers - query: data.opa.example.public_servers = x - sort_bindings: true - want_result: - - x: - - id: s1 - name: app - ports: - - p1 - - p2 - - p3 - protocols: - - https - - ssh - - id: s4 - name: dev - ports: - - p1 - - p2 - protocols: - - http + violations[server] { + server = data.servers[_] + server.protocols[_] = "http" + data.opa.example.public_servers[server] + } + note: example/public servers + query: data.opa.example.public_servers = x + sort_bindings: true + want_result: + - x: + - id: s1 + name: app + ports: + - p1 + - p2 + - p3 + protocols: + - https + - ssh + - id: s4 + name: dev + ports: + - p1 + - p2 + protocols: + - http diff --git a/test/cases/testdata/example/test-example-1071.yaml b/test/cases/testdata/example/test-example-1071.yaml index 47eb2839e4..c77736cb0e 100644 --- a/test/cases/testdata/example/test-example-1071.yaml +++ b/test/cases/testdata/example/test-example-1071.yaml @@ -1,84 +1,85 @@ +--- cases: -- data: - networks: - - id: n1 - public: false - - id: n2 - public: false - - id: n3 - public: true - ports: - - id: p1 + - data: networks: - - n1 - - id: p2 - networks: - - n3 - - id: p3 - networks: - - n2 - servers: - - id: s1 - name: app - ports: - - p1 - - p2 - - p3 - protocols: - - https - - ssh - - id: s2 - name: db + - id: n1 + public: false + - id: n2 + public: false + - id: n3 + public: true ports: - - p3 - protocols: - - mysql - - id: s3 - name: cache - ports: - - p3 - protocols: - - memcache - - http - - id: s4 - name: dev - ports: - - p1 - - p2 - protocols: - - http - input_term: '{}' - modules: - - | - package opa.example + - id: p1 + networks: + - n1 + - id: p2 + networks: + - n3 + - id: p3 + networks: + - n2 + servers: + - id: s1 + name: app + ports: + - p1 + - p2 + - p3 + protocols: + - https + - ssh + - id: s2 + name: db + ports: + - p3 + protocols: + - mysql + - id: s3 + name: cache + ports: + - p3 + protocols: + - memcache + - http + - id: s4 + name: dev + ports: + - p1 + - p2 + protocols: + - http + input_term: "{}" + modules: + - | + package opa.example - public_servers[server] { - server = data.servers[_] - server.ports[_] = data.ports[i].id - data.ports[i].networks[_] = data.networks[j].id - data.networks[j].public = true - } + public_servers[server] { + server = data.servers[_] + server.ports[_] = data.ports[i].id + data.ports[i].networks[_] = data.networks[j].id + data.networks[j].public = true + } - violations[server] { - server = data.servers[_] - server.protocols[_] = "http" - data.opa.example.public_servers[server] - } - - | - package topdown_test_partial + violations[server] { + server = data.servers[_] + server.protocols[_] = "http" + data.opa.example.public_servers[server] + } + - | + package topdown_test_partial - __result__ = _result { - _result = {{"id": "s1", "name": "app", "ports": ["p1", "p2", "p3"], "protocols": ["https", "ssh"]}, {"id": "s4", "name": "dev", "ports": ["p1", "p2"], "protocols": ["http"]}} - } - note: example/violations - query: data.opa.example.violations = x - sort_bindings: true - want_result: - - x: - - id: s4 - name: dev - ports: - - p1 - - p2 - protocols: - - http + __result__ = _result { + _result = {{"id": "s1", "name": "app", "ports": ["p1", "p2", "p3"], "protocols": ["https", "ssh"]}, {"id": "s4", "name": "dev", "ports": ["p1", "p2"], "protocols": ["http"]}} + } + note: example/violations + query: data.opa.example.violations = x + sort_bindings: true + want_result: + - x: + - id: s4 + name: dev + ports: + - p1 + - p2 + protocols: + - http diff --git a/test/cases/testdata/example/test-example-1072.yaml b/test/cases/testdata/example/test-example-1072.yaml index dcf3a8d2c5..8dcae79430 100644 --- a/test/cases/testdata/example/test-example-1072.yaml +++ b/test/cases/testdata/example/test-example-1072.yaml @@ -1,101 +1,102 @@ +--- cases: -- data: - networks: - - id: n1 - public: false - - id: n2 - public: false - - id: n3 - public: true - ports: - - id: p1 + - data: networks: - - n1 - - id: p2 - networks: - - n3 - - id: p3 - networks: - - n2 - servers: - - id: s1 - name: app - ports: - - p1 - - p2 - - p3 - protocols: - - https - - ssh - - id: s2 - name: db - ports: - - p3 - protocols: - - mysql - - id: s3 - name: cache - ports: - - p3 - protocols: - - memcache - - http - - id: s4 - name: dev + - id: n1 + public: false + - id: n2 + public: false + - id: n3 + public: true ports: - - p1 - - p2 - protocols: - - http - input_term: '{}' - modules: - - | - package opa.example + - id: p1 + networks: + - n1 + - id: p2 + networks: + - n3 + - id: p3 + networks: + - n2 + servers: + - id: s1 + name: app + ports: + - p1 + - p2 + - p3 + protocols: + - https + - ssh + - id: s2 + name: db + ports: + - p3 + protocols: + - mysql + - id: s3 + name: cache + ports: + - p3 + protocols: + - memcache + - http + - id: s4 + name: dev + ports: + - p1 + - p2 + protocols: + - http + input_term: "{}" + modules: + - | + package opa.example - public_servers[server] { - server = data.servers[_] - server.ports[_] = data.ports[i].id - data.ports[i].networks[_] = data.networks[j].id - data.networks[j].public = true - } + public_servers[server] { + server = data.servers[_] + server.ports[_] = data.ports[i].id + data.ports[i].networks[_] = data.networks[j].id + data.networks[j].public = true + } - violations[server] { - server = data.servers[_] - server.protocols[_] = "http" - data.opa.example.public_servers[server] - } - - | - package topdown_test_partial + violations[server] { + server = data.servers[_] + server.protocols[_] = "http" + data.opa.example.public_servers[server] + } + - | + package topdown_test_partial - __result__ = _result { - _result = {{"id": "s4", "name": "dev", "ports": ["p1", "p2"], "protocols": ["http"]}} - } - note: example/both - query: data.opa.example = x - want_result: - - x: - public_servers: - - id: s1 - name: app - ports: - - p1 - - p2 - - p3 - protocols: - - https - - ssh - - id: s4 - name: dev - ports: - - p1 - - p2 - protocols: - - http - violations: - - id: s4 - name: dev - ports: - - p1 - - p2 - protocols: - - http + __result__ = _result { + _result = {{"id": "s4", "name": "dev", "ports": ["p1", "p2"], "protocols": ["http"]}} + } + note: example/both + query: data.opa.example = x + want_result: + - x: + public_servers: + - id: s1 + name: app + ports: + - p1 + - p2 + - p3 + protocols: + - https + - ssh + - id: s4 + name: dev + ports: + - p1 + - p2 + protocols: + - http + violations: + - id: s4 + name: dev + ports: + - p1 + - p2 + protocols: + - http diff --git a/test/cases/testdata/fix1863/test-fix1863-0706.yaml b/test/cases/testdata/fix1863/test-fix1863-0706.yaml index d46ff406bd..878cb5ce19 100644 --- a/test/cases/testdata/fix1863/test-fix1863-0706.yaml +++ b/test/cases/testdata/fix1863/test-fix1863-0706.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: {} - modules: - - | - package a.b + - data: {} + modules: + - | + package a.b - # this module is empty - - | - package x + # this module is empty + - | + package x - p = __local0__ { # p should be defined (an empty object) - true - __local0__ = data.a.b - } - note: fix1863/is defined - query: data = x - want_result: - - x: - a: - b: {} - x: - p: {} + p = __local0__ { # p should be defined (an empty object) + true + __local0__ = data.a.b + } + note: fix1863/is defined + query: data = x + want_result: + - x: + a: + b: {} + x: + p: {} diff --git a/test/cases/testdata/fix1863/test-fix1863-0707.yaml b/test/cases/testdata/fix1863/test-fix1863-0707.yaml index 4e7d2addb6..bedc344f73 100644 --- a/test/cases/testdata/fix1863/test-fix1863-0707.yaml +++ b/test/cases/testdata/fix1863/test-fix1863-0707.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package a.b + - data: {} + modules: + - | + package a.b - # this module is empty - - | - package x + # this module is empty + - | + package x - p = __local0__ { # p should be defined (an empty object) - true - __local0__ = data.a.b - } - note: fix1863/is defined - query: data.x = x - want_result: - - x: - p: {} + p = __local0__ { # p should be defined (an empty object) + true + __local0__ = data.a.b + } + note: fix1863/is defined + query: data.x = x + want_result: + - x: + p: {} diff --git a/test/cases/testdata/fix1863/test-fix1863-0708.yaml b/test/cases/testdata/fix1863/test-fix1863-0708.yaml index bedb723ea3..4922e1065d 100644 --- a/test/cases/testdata/fix1863/test-fix1863-0708.yaml +++ b/test/cases/testdata/fix1863/test-fix1863-0708.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: {} - modules: - - | - package a.b + - data: {} + modules: + - | + package a.b - # this module is empty - - | - package x + # this module is empty + - | + package x - p = __local0__ { # p should be defined (an empty object) - true - __local0__ = data.a.b - } - - | - package topdown_test_partial + p = __local0__ { # p should be defined (an empty object) + true + __local0__ = data.a.b + } + - | + package topdown_test_partial - __result__ = _result { - _result = {"p": {}} - } - note: fix1863/is defined - query: data.x.p = x - want_result: - - x: {} + __result__ = _result { + _result = {"p": {}} + } + note: fix1863/is defined + query: data.x.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/functionerrors/test-conflicts.yaml b/test/cases/testdata/functionerrors/test-conflicts.yaml index ddd29d18ca..893804baae 100644 --- a/test/cases/testdata/functionerrors/test-conflicts.yaml +++ b/test/cases/testdata/functionerrors/test-conflicts.yaml @@ -1,21 +1,22 @@ +--- cases: -- modules: - - | - package test - o = ["1", "2"] - f(x) := o[_] == x - p { f("1") } - note: 'functionerrors/conflict: plain false and true result, first round' - query: data.test.p = x - want_error: functions must not produce multiple outputs for same inputs - want_error_code: eval_conflict_error -- modules: - - | - package test - o = ["1", "2"] - f(x) := o[_] == x - p { f("2") } - note: 'functionerrors/conflict: plain false and true result, second round' - query: data.test.p = x - want_error: functions must not produce multiple outputs for same inputs - want_error_code: eval_conflict_error + - modules: + - | + package test + o = ["1", "2"] + f(x) := o[_] == x + p { f("1") } + note: "functionerrors/conflict: plain false and true result, first round" + query: data.test.p = x + want_error: functions must not produce multiple outputs for same inputs + want_error_code: eval_conflict_error + - modules: + - | + package test + o = ["1", "2"] + f(x) := o[_] == x + p { f("2") } + note: "functionerrors/conflict: plain false and true result, second round" + query: data.test.p = x + want_error: functions must not produce multiple outputs for same inputs + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/functionerrors/test-functionerrors-1012.yaml b/test/cases/testdata/functionerrors/test-functionerrors-1012.yaml index c36fef348d..90c862c5d9 100644 --- a/test/cases/testdata/functionerrors/test-functionerrors-1012.yaml +++ b/test/cases/testdata/functionerrors/test-functionerrors-1012.yaml @@ -1,32 +1,33 @@ +--- cases: -- data: - modules: - - | - package test1 + - data: + modules: + - | + package test1 - p(a) = y { - y = a[_] - } + p(a) = y { + y = a[_] + } - r = y { - data.test1.p([1, 2, 3], y) - } - note: functionerrors/function output conflict single - query: data.test1.r = x - want_error: functions must not produce multiple outputs for same inputs - want_error_code: eval_conflict_error -- data: - modules: - - | - package test + r = y { + data.test1.p([1, 2, 3], y) + } + note: functionerrors/function output conflict single + query: data.test1.r = x + want_error: functions must not produce multiple outputs for same inputs + want_error_code: eval_conflict_error + - data: + modules: + - | + package test - f(_) = true - f(_) = false + f(_) = true + f(_) = false - r { - data.test.f(1) - } - note: functionerrors/function output conflict, used as boolean - query: data.test.r = x - want_error: functions must not produce multiple outputs for same inputs - want_error_code: eval_conflict_error + r { + data.test.f(1) + } + note: functionerrors/function output conflict, used as boolean + query: data.test.r = x + want_error: functions must not produce multiple outputs for same inputs + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/functionerrors/test-functionerrors-1013.yaml b/test/cases/testdata/functionerrors/test-functionerrors-1013.yaml index 84c56bcca8..b85f149324 100644 --- a/test/cases/testdata/functionerrors/test-functionerrors-1013.yaml +++ b/test/cases/testdata/functionerrors/test-functionerrors-1013.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - modules: - - | - package test2 + - data: + modules: + - | + package test2 - p(1, a) = y { - y = a - } + p(1, a) = y { + y = a + } - p(2, b) = y { - y = b + 1 - } + p(2, b) = y { + y = b + 1 + } - r = y { - data.test2.p(3, 0, y) - } - note: functionerrors/function input no match - query: data.test2.r = x - want_result: [] + r = y { + data.test2.p(3, 0, y) + } + note: functionerrors/function input no match + query: data.test2.r = x + want_result: [] diff --git a/test/cases/testdata/functionerrors/test-functionerrors-1014.yaml b/test/cases/testdata/functionerrors/test-functionerrors-1014.yaml index 14a4ed116e..fa2f42641d 100644 --- a/test/cases/testdata/functionerrors/test-functionerrors-1014.yaml +++ b/test/cases/testdata/functionerrors/test-functionerrors-1014.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - modules: - - | - package test3 + - data: + modules: + - | + package test3 - p(1, a) = y { - y = a - } + p(1, a) = y { + y = a + } - p(x, y) = z { - z = x - } + p(x, y) = z { + z = x + } - r = y { - data.test3.p(1, 0, y) - } - note: functionerrors/function output conflict multiple - query: data.test3.r = x - want_error: functions must not produce multiple outputs for same inputs - want_error_code: eval_conflict_error + r = y { + data.test3.p(1, 0, y) + } + note: functionerrors/function output conflict multiple + query: data.test3.r = x + want_error: functions must not produce multiple outputs for same inputs + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/functionerrors/test-functionerrors-undefined-builtin-result.yaml b/test/cases/testdata/functionerrors/test-functionerrors-undefined-builtin-result.yaml index d75b1b313e..6dd4764a2f 100644 --- a/test/cases/testdata/functionerrors/test-functionerrors-undefined-builtin-result.yaml +++ b/test/cases/testdata/functionerrors/test-functionerrors-undefined-builtin-result.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: - modules: - - | - package test - foo = units.parse_bytes("1KB") - bar = units.parse_bytes("foo") # undefined - note: functionerrors/undefined builtin result - query: data.test = x - want_result: - - x: - foo: 1000 \ No newline at end of file + - data: + modules: + - | + package test + foo = units.parse_bytes("1KB") + bar = units.parse_bytes("foo") # undefined + note: functionerrors/undefined builtin result + query: data.test = x + want_result: + - x: + foo: 1000 diff --git a/test/cases/testdata/functions/test-functions-0990.yaml b/test/cases/testdata/functions/test-functions-0990.yaml index 7c08f9eed7..5bed409bb2 100644 --- a/test/cases/testdata/functions/test-functions-0990.yaml +++ b/test/cases/testdata/functions/test-functions-0990.yaml @@ -1,278 +1,279 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - c: - - x: - - true - - false - - foo - "y": - - null - - 3.14159 - z: - p: true - q: false - d: - e: - - bar - - baz - f: - - xs: - - 1 - ys: - - 2 - - xs: - - 2 - ys: - - 3 - g: + - data: a: - - 1 - - 0 - - 0 - - 0 + - 1 + - 2 + - 3 + - 4 b: - - 0 - - 2 - - 0 - - 0 + v1: hello + v2: goodbye c: - - 0 - - 0 - - 0 - - 4 - h: - - - 1 - - 2 - - 3 - - - 2 - - 3 - - 4 - l: - - a: bob - b: -1 - c: - - 1 - - 2 - - 3 - - 4 - - a: alice - b: 1 - c: - - 2 - - 3 - - 4 - - 5 - d: null - m: [] - numbers: - - "1" - - "2" - - "3" - - "4" - strings: - bar: 2 - baz: 3 - foo: 1 - three: 3 - modules: - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local20__) = __local20__ - - | - package test.l1.l2 - - p = true - - f(__local21__) = __local21__ - - | - package test.omit_result - - f(__local22__) = __local22__ - - p { - data.test.omit_result.f(1) - } - - | - package ex - - foo(__local0__) = y { - split(__local0__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local1__) = y { - data.ex.foo(__local1__, y) - } - - chain1(__local2__) = b { - data.ex.chain0(__local2__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local3__) = [a, b] { - split(__local3__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local4__) = false - - falsy_func_else(__local5__) { - __local5__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local7__, __local8__]) = [a, b] { - data.ex.foo(__local7__, a) - data.ex.foo(__local8__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local9__, "bar": __local10__}) = z { - data.ex.foo(__local9__, a) - data.test.foo(__local10__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local11__) { - __local11__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local12__) = y { - y = __local12__ - } - - multi(2, __local13__) = y { - __local24__ = 2 * __local13__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local14__) = y { - __local26__ = __local14__ * 10 - y = __local26__ - } - - multi("foo", __local15__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local16__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local17__) = y { - trim(__local17__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local18__) = y { - y = __local18__ - } - - multi("bar", __local19__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - note: functions/basic call - query: data.ex.bar.alice = x - want_result: - - x: - - al - - ce + - x: + - true + - false + - foo + "y": + - null + - 3.14159 + z: + p: true + q: false + d: + e: + - bar + - baz + f: + - xs: + - 1 + ys: + - 2 + - xs: + - 2 + ys: + - 3 + g: + a: + - 1 + - 0 + - 0 + - 0 + b: + - 0 + - 2 + - 0 + - 0 + c: + - 0 + - 0 + - 0 + - 4 + h: + - - 1 + - 2 + - 3 + - - 2 + - 3 + - 4 + l: + - a: bob + b: -1 + c: + - 1 + - 2 + - 3 + - 4 + - a: alice + b: 1 + c: + - 2 + - 3 + - 4 + - 5 + d: null + m: [] + numbers: + - "1" + - "2" + - "3" + - "4" + strings: + bar: 2 + baz: 3 + foo: 1 + three: 3 + modules: + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local20__) = __local20__ + - | + package test.l1.l2 + + p = true + + f(__local21__) = __local21__ + - | + package test.omit_result + + f(__local22__) = __local22__ + + p { + data.test.omit_result.f(1) + } + - | + package ex + + foo(__local0__) = y { + split(__local0__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local1__) = y { + data.ex.foo(__local1__, y) + } + + chain1(__local2__) = b { + data.ex.chain0(__local2__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local3__) = [a, b] { + split(__local3__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local4__) = false + + falsy_func_else(__local5__) { + __local5__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local7__, __local8__]) = [a, b] { + data.ex.foo(__local7__, a) + data.ex.foo(__local8__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local9__, "bar": __local10__}) = z { + data.ex.foo(__local9__, a) + data.test.foo(__local10__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local11__) { + __local11__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local12__) = y { + y = __local12__ + } + + multi(2, __local13__) = y { + __local24__ = 2 * __local13__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local14__) = y { + __local26__ = __local14__ * 10 + y = __local26__ + } + + multi("foo", __local15__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local16__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local17__) = y { + trim(__local17__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local18__) = y { + y = __local18__ + } + + multi("bar", __local19__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + note: functions/basic call + query: data.ex.bar.alice = x + want_result: + - x: + - al + - ce diff --git a/test/cases/testdata/functions/test-functions-0991.yaml b/test/cases/testdata/functions/test-functions-0991.yaml index 5cc89e6589..3fd302de2e 100644 --- a/test/cases/testdata/functions/test-functions-0991.yaml +++ b/test/cases/testdata/functions/test-functions-0991.yaml @@ -1,199 +1,200 @@ +--- cases: -- data: {} - modules: - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local70__) = __local70__ - - | - package test.l1.l2 - - p = true - - f(__local72__) = __local72__ - - | - package test.omit_result - - f(__local74__) = __local74__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = ["al", "ce"] - } - - | - package ex - - foo(__local46__) = y { - split(__local46__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local47__) = y { - data.ex.foo(__local47__, y) - } - - chain1(__local48__) = b { - data.ex.chain0(__local48__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local49__) = [a, b] { - split(__local49__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local50__) = false - - falsy_func_else(__local51__) { - __local51__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local53__, __local54__]) = [a, b] { - data.ex.foo(__local53__, a) - data.ex.foo(__local54__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local55__, "bar": __local56__}) = z { - data.ex.foo(__local55__, a) - data.test.foo(__local56__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local57__) { - __local57__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local58__) = y { - y = __local58__ - } - - multi(2, __local59__) = y { - __local24__ = 2 * __local59__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local60__) = y { - __local26__ = __local60__ * 10 - y = __local26__ - } - - multi("foo", __local61__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local62__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local66__) = y { - trim(__local66__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local67__) = y { - y = __local67__ - } - - multi("bar", __local68__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - note: functions/false result - query: data.ex.falsy_undefined = x - want_result: [] + - data: {} + modules: + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local70__) = __local70__ + - | + package test.l1.l2 + + p = true + + f(__local72__) = __local72__ + - | + package test.omit_result + + f(__local74__) = __local74__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = ["al", "ce"] + } + - | + package ex + + foo(__local46__) = y { + split(__local46__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local47__) = y { + data.ex.foo(__local47__, y) + } + + chain1(__local48__) = b { + data.ex.chain0(__local48__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local49__) = [a, b] { + split(__local49__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local50__) = false + + falsy_func_else(__local51__) { + __local51__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local53__, __local54__]) = [a, b] { + data.ex.foo(__local53__, a) + data.ex.foo(__local54__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local55__, "bar": __local56__}) = z { + data.ex.foo(__local55__, a) + data.test.foo(__local56__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local57__) { + __local57__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local58__) = y { + y = __local58__ + } + + multi(2, __local59__) = y { + __local24__ = 2 * __local59__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local60__) = y { + __local26__ = __local60__ * 10 + y = __local26__ + } + + multi("foo", __local61__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local62__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local66__) = y { + trim(__local66__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local67__) = y { + y = __local67__ + } + + multi("bar", __local68__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + note: functions/false result + query: data.ex.falsy_undefined = x + want_result: [] diff --git a/test/cases/testdata/functions/test-functions-0992.yaml b/test/cases/testdata/functions/test-functions-0992.yaml index 1df1fb8f47..031d223d7c 100644 --- a/test/cases/testdata/functions/test-functions-0992.yaml +++ b/test/cases/testdata/functions/test-functions-0992.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package topdown_test_partial - - __result__ = _result { - _result = ["al", "ce"] - } - - | - package ex - - foo(__local46__) = y { - split(__local46__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local47__) = y { - data.ex.foo(__local47__, y) - } - - chain1(__local48__) = b { - data.ex.chain0(__local48__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local49__) = [a, b] { - split(__local49__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local50__) = false - - falsy_func_else(__local51__) { - __local51__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local53__, __local54__]) = [a, b] { - data.ex.foo(__local53__, a) - data.ex.foo(__local54__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local55__, "bar": __local56__}) = z { - data.ex.foo(__local55__, a) - data.test.foo(__local56__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local57__) { - __local57__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local58__) = y { - y = __local58__ - } - - multi(2, __local59__) = y { - __local24__ = 2 * __local59__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local60__) = y { - __local26__ = __local60__ * 10 - y = __local26__ - } - - multi("foo", __local61__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local62__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local66__) = y { - trim(__local66__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local67__) = y { - y = __local67__ - } - - multi("bar", __local68__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local70__) = __local70__ - - | - package test.l1.l2 - - p = true - - f(__local72__) = __local72__ - - | - package test.omit_result - - f(__local74__) = __local74__ - - p { - data.test.omit_result.f(1) - } - note: functions/false result negation - query: data.ex.falsy_negation = x - want_result: - - x: true + - data: {} + modules: + - | + package topdown_test_partial + + __result__ = _result { + _result = ["al", "ce"] + } + - | + package ex + + foo(__local46__) = y { + split(__local46__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local47__) = y { + data.ex.foo(__local47__, y) + } + + chain1(__local48__) = b { + data.ex.chain0(__local48__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local49__) = [a, b] { + split(__local49__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local50__) = false + + falsy_func_else(__local51__) { + __local51__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local53__, __local54__]) = [a, b] { + data.ex.foo(__local53__, a) + data.ex.foo(__local54__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local55__, "bar": __local56__}) = z { + data.ex.foo(__local55__, a) + data.test.foo(__local56__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local57__) { + __local57__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local58__) = y { + y = __local58__ + } + + multi(2, __local59__) = y { + __local24__ = 2 * __local59__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local60__) = y { + __local26__ = __local60__ * 10 + y = __local26__ + } + + multi("foo", __local61__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local62__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local66__) = y { + trim(__local66__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local67__) = y { + y = __local67__ + } + + multi("bar", __local68__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local70__) = __local70__ + - | + package test.l1.l2 + + p = true + + f(__local72__) = __local72__ + - | + package test.omit_result + + f(__local74__) = __local74__ + + p { + data.test.omit_result.f(1) + } + note: functions/false result negation + query: data.ex.falsy_negation = x + want_result: + - x: true diff --git a/test/cases/testdata/functions/test-functions-0993.yaml b/test/cases/testdata/functions/test-functions-0993.yaml index 437bc961ee..2d0a73867e 100644 --- a/test/cases/testdata/functions/test-functions-0993.yaml +++ b/test/cases/testdata/functions/test-functions-0993.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package topdown_test_partial - - __result__ = _result { - _result = true - } - - | - package ex - - foo(__local40__) = y { - split(__local40__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local41__) = y { - data.ex.foo(__local41__, y) - } - - chain1(__local42__) = b { - data.ex.chain0(__local42__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local43__) = [a, b] { - split(__local43__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local44__) = false - - falsy_func_else(__local45__) { - __local45__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local64__, __local65__]) = [a, b] { - data.ex.foo(__local64__, a) - data.ex.foo(__local65__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local69__, "bar": __local71__}) = z { - data.ex.foo(__local69__, a) - data.test.foo(__local71__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local73__) { - __local73__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local75__) = y { - y = __local75__ - } - - multi(2, __local76__) = y { - __local24__ = 2 * __local76__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local77__) = y { - __local26__ = __local77__ * 10 - y = __local26__ - } - - multi("foo", __local78__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local79__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local86__) = y { - trim(__local86__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local87__) = y { - y = __local87__ - } - - multi("bar", __local88__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local91__) = __local91__ - - | - package test.l1.l2 - - p = true - - f(__local94__) = __local94__ - - | - package test.omit_result - - f(__local97__) = __local97__ - - p { - data.test.omit_result.f(1) - } - note: functions/false else value - query: data.ex.falsy_else_value = x - want_result: - - x: false + - data: {} + modules: + - | + package topdown_test_partial + + __result__ = _result { + _result = true + } + - | + package ex + + foo(__local40__) = y { + split(__local40__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local41__) = y { + data.ex.foo(__local41__, y) + } + + chain1(__local42__) = b { + data.ex.chain0(__local42__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local43__) = [a, b] { + split(__local43__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local44__) = false + + falsy_func_else(__local45__) { + __local45__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local64__, __local65__]) = [a, b] { + data.ex.foo(__local64__, a) + data.ex.foo(__local65__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local69__, "bar": __local71__}) = z { + data.ex.foo(__local69__, a) + data.test.foo(__local71__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local73__) { + __local73__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local75__) = y { + y = __local75__ + } + + multi(2, __local76__) = y { + __local24__ = 2 * __local76__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local77__) = y { + __local26__ = __local77__ * 10 + y = __local26__ + } + + multi("foo", __local78__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local79__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local86__) = y { + trim(__local86__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local87__) = y { + y = __local87__ + } + + multi("bar", __local88__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local91__) = __local91__ + - | + package test.l1.l2 + + p = true + + f(__local94__) = __local94__ + - | + package test.omit_result + + f(__local97__) = __local97__ + + p { + data.test.omit_result.f(1) + } + note: functions/false else value + query: data.ex.falsy_else_value = x + want_result: + - x: false diff --git a/test/cases/testdata/functions/test-functions-0994.yaml b/test/cases/testdata/functions/test-functions-0994.yaml index c05cc7d7fe..82c100ff3d 100644 --- a/test/cases/testdata/functions/test-functions-0994.yaml +++ b/test/cases/testdata/functions/test-functions-0994.yaml @@ -1,199 +1,200 @@ +--- cases: -- data: {} - modules: - - | - package topdown_test_partial - - __result__ = _result { - _result = false - } - - | - package ex - - foo(__local66__) = y { - split(__local66__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local67__) = y { - data.ex.foo(__local67__, y) - } - - chain1(__local68__) = b { - data.ex.chain0(__local68__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local70__) = [a, b] { - split(__local70__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local72__) = false - - falsy_func_else(__local74__) { - __local74__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local81__, __local82__]) = [a, b] { - data.ex.foo(__local81__, a) - data.ex.foo(__local82__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local83__, "bar": __local84__}) = z { - data.ex.foo(__local83__, a) - data.test.foo(__local84__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local85__) { - __local85__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local89__) = y { - y = __local89__ - } - - multi(2, __local90__) = y { - __local24__ = 2 * __local90__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local92__) = y { - __local26__ = __local92__ * 10 - y = __local26__ - } - - multi("foo", __local93__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local95__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local106__) = y { - trim(__local106__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local107__) = y { - y = __local107__ - } - - multi("bar", __local108__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local112__) = __local112__ - - | - package test.l1.l2 - - p = true - - f(__local116__) = __local116__ - - | - package test.omit_result - - f(__local120__) = __local120__ - - p { - data.test.omit_result.f(1) - } - note: functions/false else undefined - query: data.ex.falsy_else_undefined = x - want_result: [] + - data: {} + modules: + - | + package topdown_test_partial + + __result__ = _result { + _result = false + } + - | + package ex + + foo(__local66__) = y { + split(__local66__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local67__) = y { + data.ex.foo(__local67__, y) + } + + chain1(__local68__) = b { + data.ex.chain0(__local68__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local70__) = [a, b] { + split(__local70__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local72__) = false + + falsy_func_else(__local74__) { + __local74__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local81__, __local82__]) = [a, b] { + data.ex.foo(__local81__, a) + data.ex.foo(__local82__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local83__, "bar": __local84__}) = z { + data.ex.foo(__local83__, a) + data.test.foo(__local84__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local85__) { + __local85__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local89__) = y { + y = __local89__ + } + + multi(2, __local90__) = y { + __local24__ = 2 * __local90__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local92__) = y { + __local26__ = __local92__ * 10 + y = __local26__ + } + + multi("foo", __local93__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local95__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local106__) = y { + trim(__local106__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local107__) = y { + y = __local107__ + } + + multi("bar", __local108__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local112__) = __local112__ + - | + package test.l1.l2 + + p = true + + f(__local116__) = __local116__ + - | + package test.omit_result + + f(__local120__) = __local120__ + + p { + data.test.omit_result.f(1) + } + note: functions/false else undefined + query: data.ex.falsy_else_undefined = x + want_result: [] diff --git a/test/cases/testdata/functions/test-functions-0995.yaml b/test/cases/testdata/functions/test-functions-0995.yaml index 2d1e91a0b8..8599d8b1bc 100644 --- a/test/cases/testdata/functions/test-functions-0995.yaml +++ b/test/cases/testdata/functions/test-functions-0995.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package test.l1.l2 - - p = true - - f(__local116__) = __local116__ - - | - package test.omit_result - - f(__local120__) = __local120__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = false - } - - | - package ex - - foo(__local66__) = y { - split(__local66__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local67__) = y { - data.ex.foo(__local67__, y) - } - - chain1(__local68__) = b { - data.ex.chain0(__local68__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local70__) = [a, b] { - split(__local70__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local72__) = false - - falsy_func_else(__local74__) { - __local74__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local81__, __local82__]) = [a, b] { - data.ex.foo(__local81__, a) - data.ex.foo(__local82__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local83__, "bar": __local84__}) = z { - data.ex.foo(__local83__, a) - data.test.foo(__local84__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local85__) { - __local85__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local89__) = y { - y = __local89__ - } - - multi(2, __local90__) = y { - __local24__ = 2 * __local90__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local92__) = y { - __local26__ = __local92__ * 10 - y = __local26__ - } - - multi("foo", __local93__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local95__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local106__) = y { - trim(__local106__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local107__) = y { - y = __local107__ - } - - multi("bar", __local108__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local112__) = __local112__ - note: functions/false else negation - query: data.ex.falsy_else_negation = x - want_result: - - x: true + - data: {} + modules: + - | + package test.l1.l2 + + p = true + + f(__local116__) = __local116__ + - | + package test.omit_result + + f(__local120__) = __local120__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = false + } + - | + package ex + + foo(__local66__) = y { + split(__local66__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local67__) = y { + data.ex.foo(__local67__, y) + } + + chain1(__local68__) = b { + data.ex.chain0(__local68__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local70__) = [a, b] { + split(__local70__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local72__) = false + + falsy_func_else(__local74__) { + __local74__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local81__, __local82__]) = [a, b] { + data.ex.foo(__local81__, a) + data.ex.foo(__local82__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local83__, "bar": __local84__}) = z { + data.ex.foo(__local83__, a) + data.test.foo(__local84__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local85__) { + __local85__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local89__) = y { + y = __local89__ + } + + multi(2, __local90__) = y { + __local24__ = 2 * __local90__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local92__) = y { + __local26__ = __local92__ * 10 + y = __local26__ + } + + multi("foo", __local93__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local95__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local106__) = y { + trim(__local106__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local107__) = y { + y = __local107__ + } + + multi("bar", __local108__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local112__) = __local112__ + note: functions/false else negation + query: data.ex.falsy_else_negation = x + want_result: + - x: true diff --git a/test/cases/testdata/functions/test-functions-0996.yaml b/test/cases/testdata/functions/test-functions-0996.yaml index d1c229588b..80dcbd65bd 100644 --- a/test/cases/testdata/functions/test-functions-0996.yaml +++ b/test/cases/testdata/functions/test-functions-0996.yaml @@ -1,202 +1,203 @@ +--- cases: -- data: {} - modules: - - | - package test - - foo(__local126__) = y { - trim(__local126__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local127__) = y { - y = __local127__ - } - - multi("bar", __local128__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local133__) = __local133__ - - | - package test.l1.l2 - - p = true - - f(__local138__) = __local138__ - - | - package test.omit_result - - f(__local143__) = __local143__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = true - } - - | - package ex - - foo(__local86__) = y { - split(__local86__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local87__) = y { - data.ex.foo(__local87__, y) - } - - chain1(__local88__) = b { - data.ex.chain0(__local88__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local91__) = [a, b] { - split(__local91__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local94__) = false - - falsy_func_else(__local96__) { - __local96__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local98__, __local99__]) = [a, b] { - data.ex.foo(__local98__, a) - data.ex.foo(__local99__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local100__, "bar": __local101__}) = z { - data.ex.foo(__local100__, a) - data.test.foo(__local101__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local102__) { - __local102__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local103__) = y { - y = __local103__ - } - - multi(2, __local104__) = y { - __local24__ = 2 * __local104__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local105__) = y { - __local26__ = __local105__ * 10 - y = __local26__ - } - - multi("foo", __local109__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local110__) = true - - always_true { - data.ex.always_true_fn(1) - } - note: functions/chained - query: data.ex.chain2 = x - want_result: - - x: - - foo - - bar + - data: {} + modules: + - | + package test + + foo(__local126__) = y { + trim(__local126__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local127__) = y { + y = __local127__ + } + + multi("bar", __local128__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local133__) = __local133__ + - | + package test.l1.l2 + + p = true + + f(__local138__) = __local138__ + - | + package test.omit_result + + f(__local143__) = __local143__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = true + } + - | + package ex + + foo(__local86__) = y { + split(__local86__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local87__) = y { + data.ex.foo(__local87__, y) + } + + chain1(__local88__) = b { + data.ex.chain0(__local88__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local91__) = [a, b] { + split(__local91__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local94__) = false + + falsy_func_else(__local96__) { + __local96__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local98__, __local99__]) = [a, b] { + data.ex.foo(__local98__, a) + data.ex.foo(__local99__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local100__, "bar": __local101__}) = z { + data.ex.foo(__local100__, a) + data.test.foo(__local101__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local102__) { + __local102__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local103__) = y { + y = __local103__ + } + + multi(2, __local104__) = y { + __local24__ = 2 * __local104__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local105__) = y { + __local26__ = __local105__ * 10 + y = __local26__ + } + + multi("foo", __local109__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local110__) = true + + always_true { + data.ex.always_true_fn(1) + } + note: functions/chained + query: data.ex.chain2 = x + want_result: + - x: + - foo + - bar diff --git a/test/cases/testdata/functions/test-functions-0997.yaml b/test/cases/testdata/functions/test-functions-0997.yaml index 01c698223b..9635b57263 100644 --- a/test/cases/testdata/functions/test-functions-0997.yaml +++ b/test/cases/testdata/functions/test-functions-0997.yaml @@ -1,202 +1,203 @@ +--- cases: -- data: {} - modules: - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local154__) = __local154__ - - | - package test.l1.l2 - - p = true - - f(__local160__) = __local160__ - - | - package test.omit_result - - f(__local166__) = __local166__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = ["foo", "bar"] - } - - | - package ex - - foo(__local106__) = y { - split(__local106__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local107__) = y { - data.ex.foo(__local107__, y) - } - - chain1(__local108__) = b { - data.ex.chain0(__local108__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local111__) = [a, b] { - split(__local111__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local112__) = false - - falsy_func_else(__local113__) { - __local113__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local115__, __local116__]) = [a, b] { - data.ex.foo(__local115__, a) - data.ex.foo(__local116__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local117__, "bar": __local118__}) = z { - data.ex.foo(__local117__, a) - data.test.foo(__local118__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local119__) { - __local119__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local120__) = y { - y = __local120__ - } - - multi(2, __local121__) = y { - __local24__ = 2 * __local121__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local122__) = y { - __local26__ = __local122__ * 10 - y = __local26__ - } - - multi("foo", __local123__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local124__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local146__) = y { - trim(__local146__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local147__) = y { - y = __local147__ - } - - multi("bar", __local148__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - note: functions/cross package - query: data.test.cross = x - want_result: - - x: - - s f - - - ', my name ' + - data: {} + modules: + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local154__) = __local154__ + - | + package test.l1.l2 + + p = true + + f(__local160__) = __local160__ + - | + package test.omit_result + + f(__local166__) = __local166__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = ["foo", "bar"] + } + - | + package ex + + foo(__local106__) = y { + split(__local106__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local107__) = y { + data.ex.foo(__local107__, y) + } + + chain1(__local108__) = b { + data.ex.chain0(__local108__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local111__) = [a, b] { + split(__local111__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local112__) = false + + falsy_func_else(__local113__) { + __local113__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local115__, __local116__]) = [a, b] { + data.ex.foo(__local115__, a) + data.ex.foo(__local116__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local117__, "bar": __local118__}) = z { + data.ex.foo(__local117__, a) + data.test.foo(__local118__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local119__) { + __local119__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local120__) = y { + y = __local120__ + } + + multi(2, __local121__) = y { + __local24__ = 2 * __local121__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local122__) = y { + __local26__ = __local122__ * 10 + y = __local26__ + } + + multi("foo", __local123__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local124__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local146__) = y { + trim(__local146__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local147__) = y { + y = __local147__ + } + + multi("bar", __local148__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + note: functions/cross package + query: data.test.cross = x + want_result: + - x: + - s f + - - ", my name " diff --git a/test/cases/testdata/functions/test-functions-0998.yaml b/test/cases/testdata/functions/test-functions-0998.yaml index e85bbbca53..305c49cb43 100644 --- a/test/cases/testdata/functions/test-functions-0998.yaml +++ b/test/cases/testdata/functions/test-functions-0998.yaml @@ -1,203 +1,204 @@ +--- cases: -- data: {} - modules: - - | - package test.l1.l3 - - g(__local175__) = __local175__ - - | - package test.l1.l2 - - p = true - - f(__local182__) = __local182__ - - | - package test.omit_result - - f(__local189__) = __local189__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = ["s f", [", my name "]] - } - - | - package ex - - foo(__local125__) = y { - split(__local125__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local126__) = y { - data.ex.foo(__local126__, y) - } - - chain1(__local127__) = b { - data.ex.chain0(__local127__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local128__) = [a, b] { - split(__local128__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local129__) = false - - falsy_func_else(__local130__) { - __local130__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local132__, __local133__]) = [a, b] { - data.ex.foo(__local132__, a) - data.ex.foo(__local133__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local134__, "bar": __local135__}) = z { - data.ex.foo(__local134__, a) - data.test.foo(__local135__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local136__) { - __local136__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local137__) = y { - y = __local137__ - } - - multi(2, __local138__) = y { - __local24__ = 2 * __local138__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local139__) = y { - __local26__ = __local139__ * 10 - y = __local26__ - } - - multi("foo", __local140__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local141__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local165__) = y { - trim(__local165__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local167__) = y { - y = __local167__ - } - - multi("bar", __local168__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - note: functions/array params - query: data.ex.arraysrule = x - want_result: - - x: - - - h - - h - - - foo + - data: {} + modules: + - | + package test.l1.l3 + + g(__local175__) = __local175__ + - | + package test.l1.l2 + + p = true + + f(__local182__) = __local182__ + - | + package test.omit_result + + f(__local189__) = __local189__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = ["s f", [", my name "]] + } + - | + package ex + + foo(__local125__) = y { + split(__local125__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local126__) = y { + data.ex.foo(__local126__, y) + } + + chain1(__local127__) = b { + data.ex.chain0(__local127__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local128__) = [a, b] { + split(__local128__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local129__) = false + + falsy_func_else(__local130__) { + __local130__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local132__, __local133__]) = [a, b] { + data.ex.foo(__local132__, a) + data.ex.foo(__local133__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local134__, "bar": __local135__}) = z { + data.ex.foo(__local134__, a) + data.test.foo(__local135__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local136__) { + __local136__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local137__) = y { + y = __local137__ + } + + multi(2, __local138__) = y { + __local24__ = 2 * __local138__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local139__) = y { + __local26__ = __local139__ * 10 + y = __local26__ + } + + multi("foo", __local140__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local141__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local165__) = y { + trim(__local165__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local167__) = y { + y = __local167__ + } + + multi("bar", __local168__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + note: functions/array params + query: data.ex.arraysrule = x + want_result: + - x: + - - h + - h + - - foo diff --git a/test/cases/testdata/functions/test-functions-0999.yaml b/test/cases/testdata/functions/test-functions-0999.yaml index b04fc31a41..da07f41668 100644 --- a/test/cases/testdata/functions/test-functions-0999.yaml +++ b/test/cases/testdata/functions/test-functions-0999.yaml @@ -1,203 +1,204 @@ +--- cases: -- data: {} - modules: - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local196__) = __local196__ - - | - package test.l1.l2 - - p = true - - f(__local204__) = __local204__ - - | - package test.omit_result - - f(__local212__) = __local212__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = [["h", "h"], ["foo"]] - } - - | - package ex - - foo(__local142__) = y { - split(__local142__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local143__) = y { - data.ex.foo(__local143__, y) - } - - chain1(__local144__) = b { - data.ex.chain0(__local144__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local145__) = [a, b] { - split(__local145__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local146__) = false - - falsy_func_else(__local147__) { - __local147__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local149__, __local150__]) = [a, b] { - data.ex.foo(__local149__, a) - data.ex.foo(__local150__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local151__, "bar": __local152__}) = z { - data.ex.foo(__local151__, a) - data.test.foo(__local152__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local153__) { - __local153__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local154__) = y { - y = __local154__ - } - - multi(2, __local155__) = y { - __local24__ = 2 * __local155__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local156__) = y { - __local26__ = __local156__ * 10 - y = __local26__ - } - - multi("foo", __local157__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local158__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local185__) = y { - trim(__local185__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local186__) = y { - y = __local186__ - } - - multi("bar", __local187__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - note: functions/object params - query: data.ex.objectsrule = x - want_result: - - x: - - - h - - h - - i + - data: {} + modules: + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local196__) = __local196__ + - | + package test.l1.l2 + + p = true + + f(__local204__) = __local204__ + - | + package test.omit_result + + f(__local212__) = __local212__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = [["h", "h"], ["foo"]] + } + - | + package ex + + foo(__local142__) = y { + split(__local142__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local143__) = y { + data.ex.foo(__local143__, y) + } + + chain1(__local144__) = b { + data.ex.chain0(__local144__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local145__) = [a, b] { + split(__local145__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local146__) = false + + falsy_func_else(__local147__) { + __local147__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local149__, __local150__]) = [a, b] { + data.ex.foo(__local149__, a) + data.ex.foo(__local150__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local151__, "bar": __local152__}) = z { + data.ex.foo(__local151__, a) + data.test.foo(__local152__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local153__) { + __local153__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local154__) = y { + y = __local154__ + } + + multi(2, __local155__) = y { + __local24__ = 2 * __local155__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local156__) = y { + __local26__ = __local156__ * 10 + y = __local26__ + } + + multi("foo", __local157__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local158__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local185__) = y { + trim(__local185__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local186__) = y { + y = __local186__ + } + + multi("bar", __local187__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + note: functions/object params + query: data.ex.objectsrule = x + want_result: + - x: + - - h + - h + - i diff --git a/test/cases/testdata/functions/test-functions-1000.yaml b/test/cases/testdata/functions/test-functions-1000.yaml index 3ebae964a7..6121da71a4 100644 --- a/test/cases/testdata/functions/test-functions-1000.yaml +++ b/test/cases/testdata/functions/test-functions-1000.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package topdown_test_partial - - __result__ = _result { - _result = [["h", "h"], "i"] - } - - | - package ex - - foo(__local159__) = y { - split(__local159__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local160__) = y { - data.ex.foo(__local160__, y) - } - - chain1(__local161__) = b { - data.ex.chain0(__local161__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local162__) = [a, b] { - split(__local162__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local163__) = false - - falsy_func_else(__local164__) { - __local164__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local166__, __local167__]) = [a, b] { - data.ex.foo(__local166__, a) - data.ex.foo(__local167__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local168__, "bar": __local169__}) = z { - data.ex.foo(__local168__, a) - data.test.foo(__local169__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local170__) { - __local170__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local171__) = y { - y = __local171__ - } - - multi(2, __local172__) = y { - __local24__ = 2 * __local172__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local173__) = y { - __local26__ = __local173__ * 10 - y = __local26__ - } - - multi("foo", __local174__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local175__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local205__) = y { - trim(__local205__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local206__) = y { - y = __local206__ - } - - multi("bar", __local207__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local217__) = __local217__ - - | - package test.l1.l2 - - p = true - - f(__local226__) = __local226__ - - | - package test.omit_result - - f(__local235__) = __local235__ - - p { - data.test.omit_result.f(1) - } - note: functions/ref func output - query: data.ex.refoutput = x - want_result: - - x: h + - data: {} + modules: + - | + package topdown_test_partial + + __result__ = _result { + _result = [["h", "h"], "i"] + } + - | + package ex + + foo(__local159__) = y { + split(__local159__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local160__) = y { + data.ex.foo(__local160__, y) + } + + chain1(__local161__) = b { + data.ex.chain0(__local161__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local162__) = [a, b] { + split(__local162__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local163__) = false + + falsy_func_else(__local164__) { + __local164__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local166__, __local167__]) = [a, b] { + data.ex.foo(__local166__, a) + data.ex.foo(__local167__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local168__, "bar": __local169__}) = z { + data.ex.foo(__local168__, a) + data.test.foo(__local169__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local170__) { + __local170__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local171__) = y { + y = __local171__ + } + + multi(2, __local172__) = y { + __local24__ = 2 * __local172__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local173__) = y { + __local26__ = __local173__ * 10 + y = __local26__ + } + + multi("foo", __local174__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local175__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local205__) = y { + trim(__local205__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local206__) = y { + y = __local206__ + } + + multi("bar", __local207__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local217__) = __local217__ + - | + package test.l1.l2 + + p = true + + f(__local226__) = __local226__ + - | + package test.omit_result + + f(__local235__) = __local235__ + + p { + data.test.omit_result.f(1) + } + note: functions/ref func output + query: data.ex.refoutput = x + want_result: + - x: h diff --git a/test/cases/testdata/functions/test-functions-1001.yaml b/test/cases/testdata/functions/test-functions-1001.yaml index 166e070a79..8b14a25e9f 100644 --- a/test/cases/testdata/functions/test-functions-1001.yaml +++ b/test/cases/testdata/functions/test-functions-1001.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local238__) = __local238__ - - | - package test.l1.l2 - - p = true - - f(__local248__) = __local248__ - - | - package test.omit_result - - f(__local258__) = __local258__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = "h" - } - - | - package ex - - foo(__local176__) = y { - split(__local176__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local177__) = y { - data.ex.foo(__local177__, y) - } - - chain1(__local178__) = b { - data.ex.chain0(__local178__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local179__) = [a, b] { - split(__local179__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local180__) = false - - falsy_func_else(__local181__) { - __local181__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local183__, __local184__]) = [a, b] { - data.ex.foo(__local183__, a) - data.ex.foo(__local184__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local185__, "bar": __local186__}) = z { - data.ex.foo(__local185__, a) - data.test.foo(__local186__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local187__) { - __local187__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local188__) = y { - y = __local188__ - } - - multi(2, __local189__) = y { - __local24__ = 2 * __local189__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local190__) = y { - __local26__ = __local190__ * 10 - y = __local26__ - } - - multi("foo", __local191__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local192__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local224__) = y { - trim(__local224__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local225__) = y { - y = __local225__ - } - - multi("bar", __local227__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - note: functions/always_true - query: data.ex.always_true = x - want_result: - - x: true + - data: {} + modules: + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local238__) = __local238__ + - | + package test.l1.l2 + + p = true + + f(__local248__) = __local248__ + - | + package test.omit_result + + f(__local258__) = __local258__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = "h" + } + - | + package ex + + foo(__local176__) = y { + split(__local176__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local177__) = y { + data.ex.foo(__local177__, y) + } + + chain1(__local178__) = b { + data.ex.chain0(__local178__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local179__) = [a, b] { + split(__local179__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local180__) = false + + falsy_func_else(__local181__) { + __local181__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local183__, __local184__]) = [a, b] { + data.ex.foo(__local183__, a) + data.ex.foo(__local184__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local185__, "bar": __local186__}) = z { + data.ex.foo(__local185__, a) + data.test.foo(__local186__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local187__) { + __local187__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local188__) = y { + y = __local188__ + } + + multi(2, __local189__) = y { + __local24__ = 2 * __local189__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local190__) = y { + __local26__ = __local190__ * 10 + y = __local26__ + } + + multi("foo", __local191__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local192__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local224__) = y { + trim(__local224__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local225__) = y { + y = __local225__ + } + + multi("bar", __local227__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + note: functions/always_true + query: data.ex.always_true = x + want_result: + - x: true diff --git a/test/cases/testdata/functions/test-functions-1002.yaml b/test/cases/testdata/functions/test-functions-1002.yaml index 76395cbc9a..17ad085d90 100644 --- a/test/cases/testdata/functions/test-functions-1002.yaml +++ b/test/cases/testdata/functions/test-functions-1002.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package ex - - foo(__local193__) = y { - split(__local193__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local194__) = y { - data.ex.foo(__local194__, y) - } - - chain1(__local195__) = b { - data.ex.chain0(__local195__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local196__) = [a, b] { - split(__local196__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local197__) = false - - falsy_func_else(__local198__) { - __local198__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local200__, __local201__]) = [a, b] { - data.ex.foo(__local200__, a) - data.ex.foo(__local201__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local202__, "bar": __local203__}) = z { - data.ex.foo(__local202__, a) - data.test.foo(__local203__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local204__) { - __local204__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local205__) = y { - y = __local205__ - } - - multi(2, __local206__) = y { - __local24__ = 2 * __local206__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local207__) = y { - __local26__ = __local207__ * 10 - y = __local26__ - } - - multi("foo", __local208__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local209__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local244__) = y { - trim(__local244__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local245__) = y { - y = __local245__ - } - - multi("bar", __local246__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local259__) = __local259__ - - | - package test.l1.l2 - - p = true - - f(__local270__) = __local270__ - - | - package test.omit_result - - f(__local281__) = __local281__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = true - } - note: functions/same package call - query: data.test.samepkg = x - want_result: - - x: w do you do? + - data: {} + modules: + - | + package ex + + foo(__local193__) = y { + split(__local193__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local194__) = y { + data.ex.foo(__local194__, y) + } + + chain1(__local195__) = b { + data.ex.chain0(__local195__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local196__) = [a, b] { + split(__local196__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local197__) = false + + falsy_func_else(__local198__) { + __local198__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local200__, __local201__]) = [a, b] { + data.ex.foo(__local200__, a) + data.ex.foo(__local201__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local202__, "bar": __local203__}) = z { + data.ex.foo(__local202__, a) + data.test.foo(__local203__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local204__) { + __local204__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local205__) = y { + y = __local205__ + } + + multi(2, __local206__) = y { + __local24__ = 2 * __local206__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local207__) = y { + __local26__ = __local207__ * 10 + y = __local26__ + } + + multi("foo", __local208__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local209__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local244__) = y { + trim(__local244__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local245__) = y { + y = __local245__ + } + + multi("bar", __local246__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local259__) = __local259__ + - | + package test.l1.l2 + + p = true + + f(__local270__) = __local270__ + - | + package test.omit_result + + f(__local281__) = __local281__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = true + } + note: functions/same package call + query: data.test.samepkg = x + want_result: + - x: w do you do? diff --git a/test/cases/testdata/functions/test-functions-1003.yaml b/test/cases/testdata/functions/test-functions-1003.yaml index 1498b6bbd8..8826a37c7a 100644 --- a/test/cases/testdata/functions/test-functions-1003.yaml +++ b/test/cases/testdata/functions/test-functions-1003.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package test.l1.l2 - - p = true - - f(__local292__) = __local292__ - - | - package test.omit_result - - f(__local304__) = __local304__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = "w do you do?" - } - - | - package ex - - foo(__local210__) = y { - split(__local210__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local211__) = y { - data.ex.foo(__local211__, y) - } - - chain1(__local212__) = b { - data.ex.chain0(__local212__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local213__) = [a, b] { - split(__local213__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local214__) = false - - falsy_func_else(__local215__) { - __local215__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local217__, __local218__]) = [a, b] { - data.ex.foo(__local217__, a) - data.ex.foo(__local218__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local219__, "bar": __local220__}) = z { - data.ex.foo(__local219__, a) - data.test.foo(__local220__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local221__) { - __local221__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local222__) = y { - y = __local222__ - } - - multi(2, __local223__) = y { - __local24__ = 2 * __local223__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local224__) = y { - __local26__ = __local224__ * 10 - y = __local26__ - } - - multi("foo", __local225__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local226__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local264__) = y { - trim(__local264__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local265__) = y { - y = __local265__ - } - - multi("bar", __local266__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local279__) = __local279__ - note: functions/void good - query: data.ex.voidGood = x - want_result: - - x: true + - data: {} + modules: + - | + package test.l1.l2 + + p = true + + f(__local292__) = __local292__ + - | + package test.omit_result + + f(__local304__) = __local304__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = "w do you do?" + } + - | + package ex + + foo(__local210__) = y { + split(__local210__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local211__) = y { + data.ex.foo(__local211__, y) + } + + chain1(__local212__) = b { + data.ex.chain0(__local212__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local213__) = [a, b] { + split(__local213__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local214__) = false + + falsy_func_else(__local215__) { + __local215__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local217__, __local218__]) = [a, b] { + data.ex.foo(__local217__, a) + data.ex.foo(__local218__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local219__, "bar": __local220__}) = z { + data.ex.foo(__local219__, a) + data.test.foo(__local220__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local221__) { + __local221__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local222__) = y { + y = __local222__ + } + + multi(2, __local223__) = y { + __local24__ = 2 * __local223__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local224__) = y { + __local26__ = __local224__ * 10 + y = __local26__ + } + + multi("foo", __local225__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local226__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local264__) = y { + trim(__local264__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local265__) = y { + y = __local265__ + } + + multi("bar", __local266__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local279__) = __local279__ + note: functions/void good + query: data.ex.voidGood = x + want_result: + - x: true diff --git a/test/cases/testdata/functions/test-functions-1004.yaml b/test/cases/testdata/functions/test-functions-1004.yaml index 8340e988a9..fa0f2a6494 100644 --- a/test/cases/testdata/functions/test-functions-1004.yaml +++ b/test/cases/testdata/functions/test-functions-1004.yaml @@ -1,199 +1,200 @@ +--- cases: -- data: {} - modules: - - | - package test.omit_result - - f(__local327__) = __local327__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = true - } - - | - package ex - - foo(__local227__) = y { - split(__local227__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local228__) = y { - data.ex.foo(__local228__, y) - } - - chain1(__local229__) = b { - data.ex.chain0(__local229__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local230__) = [a, b] { - split(__local230__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local231__) = false - - falsy_func_else(__local232__) { - __local232__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local234__, __local235__]) = [a, b] { - data.ex.foo(__local234__, a) - data.ex.foo(__local235__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local236__, "bar": __local237__}) = z { - data.ex.foo(__local236__, a) - data.test.foo(__local237__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local238__) { - __local238__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local239__) = y { - y = __local239__ - } - - multi(2, __local240__) = y { - __local24__ = 2 * __local240__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local241__) = y { - __local26__ = __local241__ * 10 - y = __local26__ - } - - multi("foo", __local242__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local243__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local284__) = y { - trim(__local284__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local285__) = y { - y = __local285__ - } - - multi("bar", __local286__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local300__) = __local300__ - - | - package test.l1.l2 - - p = true - - f(__local314__) = __local314__ - note: functions/void bad - query: data.ex.voidBad = x - want_result: [] + - data: {} + modules: + - | + package test.omit_result + + f(__local327__) = __local327__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = true + } + - | + package ex + + foo(__local227__) = y { + split(__local227__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local228__) = y { + data.ex.foo(__local228__, y) + } + + chain1(__local229__) = b { + data.ex.chain0(__local229__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local230__) = [a, b] { + split(__local230__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local231__) = false + + falsy_func_else(__local232__) { + __local232__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local234__, __local235__]) = [a, b] { + data.ex.foo(__local234__, a) + data.ex.foo(__local235__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local236__, "bar": __local237__}) = z { + data.ex.foo(__local236__, a) + data.test.foo(__local237__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local238__) { + __local238__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local239__) = y { + y = __local239__ + } + + multi(2, __local240__) = y { + __local24__ = 2 * __local240__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local241__) = y { + __local26__ = __local241__ * 10 + y = __local26__ + } + + multi("foo", __local242__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local243__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local284__) = y { + trim(__local284__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local285__) = y { + y = __local285__ + } + + multi("bar", __local286__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local300__) = __local300__ + - | + package test.l1.l2 + + p = true + + f(__local314__) = __local314__ + note: functions/void bad + query: data.ex.voidBad = x + want_result: [] diff --git a/test/cases/testdata/functions/test-functions-1005.yaml b/test/cases/testdata/functions/test-functions-1005.yaml index 959573ba13..b52f4b932e 100644 --- a/test/cases/testdata/functions/test-functions-1005.yaml +++ b/test/cases/testdata/functions/test-functions-1005.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package test.l1.l3 - - g(__local300__) = __local300__ - - | - package test.l1.l2 - - p = true - - f(__local314__) = __local314__ - - | - package test.omit_result - - f(__local327__) = __local327__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = true - } - - | - package ex - - foo(__local227__) = y { - split(__local227__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local228__) = y { - data.ex.foo(__local228__, y) - } - - chain1(__local229__) = b { - data.ex.chain0(__local229__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local230__) = [a, b] { - split(__local230__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local231__) = false - - falsy_func_else(__local232__) { - __local232__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local234__, __local235__]) = [a, b] { - data.ex.foo(__local234__, a) - data.ex.foo(__local235__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local236__, "bar": __local237__}) = z { - data.ex.foo(__local236__, a) - data.test.foo(__local237__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local238__) { - __local238__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local239__) = y { - y = __local239__ - } - - multi(2, __local240__) = y { - __local24__ = 2 * __local240__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local241__) = y { - __local26__ = __local241__ * 10 - y = __local26__ - } - - multi("foo", __local242__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local243__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local284__) = y { - trim(__local284__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local285__) = y { - y = __local285__ - } - - multi("bar", __local286__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - note: functions/multi1 - query: data.ex.multi1 = x - want_result: - - x: 2 + - data: {} + modules: + - | + package test.l1.l3 + + g(__local300__) = __local300__ + - | + package test.l1.l2 + + p = true + + f(__local314__) = __local314__ + - | + package test.omit_result + + f(__local327__) = __local327__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = true + } + - | + package ex + + foo(__local227__) = y { + split(__local227__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local228__) = y { + data.ex.foo(__local228__, y) + } + + chain1(__local229__) = b { + data.ex.chain0(__local229__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local230__) = [a, b] { + split(__local230__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local231__) = false + + falsy_func_else(__local232__) { + __local232__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local234__, __local235__]) = [a, b] { + data.ex.foo(__local234__, a) + data.ex.foo(__local235__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local236__, "bar": __local237__}) = z { + data.ex.foo(__local236__, a) + data.test.foo(__local237__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local238__) { + __local238__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local239__) = y { + y = __local239__ + } + + multi(2, __local240__) = y { + __local24__ = 2 * __local240__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local241__) = y { + __local26__ = __local241__ * 10 + y = __local26__ + } + + multi("foo", __local242__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local243__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local284__) = y { + trim(__local284__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local285__) = y { + y = __local285__ + } + + multi("bar", __local286__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + note: functions/multi1 + query: data.ex.multi1 = x + want_result: + - x: 2 diff --git a/test/cases/testdata/functions/test-functions-1006.yaml b/test/cases/testdata/functions/test-functions-1006.yaml index 01a302bb7d..60d1c8f4e1 100644 --- a/test/cases/testdata/functions/test-functions-1006.yaml +++ b/test/cases/testdata/functions/test-functions-1006.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package test.omit_result - - f(__local350__) = __local350__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = 2 - } - - | - package ex - - foo(__local244__) = y { - split(__local244__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local245__) = y { - data.ex.foo(__local245__, y) - } - - chain1(__local246__) = b { - data.ex.chain0(__local246__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local247__) = [a, b] { - split(__local247__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local248__) = false - - falsy_func_else(__local249__) { - __local249__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local251__, __local252__]) = [a, b] { - data.ex.foo(__local251__, a) - data.ex.foo(__local252__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local253__, "bar": __local254__}) = z { - data.ex.foo(__local253__, a) - data.test.foo(__local254__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local255__) { - __local255__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local256__) = y { - y = __local256__ - } - - multi(2, __local257__) = y { - __local24__ = 2 * __local257__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local258__) = y { - __local26__ = __local258__ * 10 - y = __local26__ - } - - multi("foo", __local259__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local260__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local304__) = y { - trim(__local304__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local305__) = y { - y = __local305__ - } - - multi("bar", __local306__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local321__) = __local321__ - - | - package test.l1.l2 - - p = true - - f(__local336__) = __local336__ - note: functions/multi2 - query: data.ex.multi2 = x - want_result: - - x: 5 + - data: {} + modules: + - | + package test.omit_result + + f(__local350__) = __local350__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = 2 + } + - | + package ex + + foo(__local244__) = y { + split(__local244__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local245__) = y { + data.ex.foo(__local245__, y) + } + + chain1(__local246__) = b { + data.ex.chain0(__local246__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local247__) = [a, b] { + split(__local247__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local248__) = false + + falsy_func_else(__local249__) { + __local249__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local251__, __local252__]) = [a, b] { + data.ex.foo(__local251__, a) + data.ex.foo(__local252__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local253__, "bar": __local254__}) = z { + data.ex.foo(__local253__, a) + data.test.foo(__local254__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local255__) { + __local255__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local256__) = y { + y = __local256__ + } + + multi(2, __local257__) = y { + __local24__ = 2 * __local257__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local258__) = y { + __local26__ = __local258__ * 10 + y = __local26__ + } + + multi("foo", __local259__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local260__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local304__) = y { + trim(__local304__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local305__) = y { + y = __local305__ + } + + multi("bar", __local306__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local321__) = __local321__ + - | + package test.l1.l2 + + p = true + + f(__local336__) = __local336__ + note: functions/multi2 + query: data.ex.multi2 = x + want_result: + - x: 5 diff --git a/test/cases/testdata/functions/test-functions-1007.yaml b/test/cases/testdata/functions/test-functions-1007.yaml index dcb32c3e70..9a44201a35 100644 --- a/test/cases/testdata/functions/test-functions-1007.yaml +++ b/test/cases/testdata/functions/test-functions-1007.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package ex - - foo(__local261__) = y { - split(__local261__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local262__) = y { - data.ex.foo(__local262__, y) - } - - chain1(__local263__) = b { - data.ex.chain0(__local263__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local264__) = [a, b] { - split(__local264__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local265__) = false - - falsy_func_else(__local266__) { - __local266__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local268__, __local269__]) = [a, b] { - data.ex.foo(__local268__, a) - data.ex.foo(__local269__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local270__, "bar": __local271__}) = z { - data.ex.foo(__local270__, a) - data.test.foo(__local271__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local272__) { - __local272__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local273__) = y { - y = __local273__ - } - - multi(2, __local274__) = y { - __local24__ = 2 * __local274__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local275__) = y { - __local26__ = __local275__ * 10 - y = __local26__ - } - - multi("foo", __local276__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local277__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local324__) = y { - trim(__local324__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local325__) = y { - y = __local325__ - } - - multi("bar", __local326__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local342__) = __local342__ - - | - package test.l1.l2 - - p = true - - f(__local358__) = __local358__ - - | - package test.omit_result - - f(__local373__) = __local373__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = 5 - } - note: functions/multi3 - query: data.ex.multi3 = x - want_result: - - x: 20 + - data: {} + modules: + - | + package ex + + foo(__local261__) = y { + split(__local261__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local262__) = y { + data.ex.foo(__local262__, y) + } + + chain1(__local263__) = b { + data.ex.chain0(__local263__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local264__) = [a, b] { + split(__local264__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local265__) = false + + falsy_func_else(__local266__) { + __local266__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local268__, __local269__]) = [a, b] { + data.ex.foo(__local268__, a) + data.ex.foo(__local269__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local270__, "bar": __local271__}) = z { + data.ex.foo(__local270__, a) + data.test.foo(__local271__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local272__) { + __local272__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local273__) = y { + y = __local273__ + } + + multi(2, __local274__) = y { + __local24__ = 2 * __local274__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local275__) = y { + __local26__ = __local275__ * 10 + y = __local26__ + } + + multi("foo", __local276__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local277__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local324__) = y { + trim(__local324__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local325__) = y { + y = __local325__ + } + + multi("bar", __local326__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local342__) = __local342__ + - | + package test.l1.l2 + + p = true + + f(__local358__) = __local358__ + - | + package test.omit_result + + f(__local373__) = __local373__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = 5 + } + note: functions/multi3 + query: data.ex.multi3 = x + want_result: + - x: 20 diff --git a/test/cases/testdata/functions/test-functions-1008.yaml b/test/cases/testdata/functions/test-functions-1008.yaml index 3bf0bf4aa3..762675876a 100644 --- a/test/cases/testdata/functions/test-functions-1008.yaml +++ b/test/cases/testdata/functions/test-functions-1008.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package test.omit_result - - f(__local396__) = __local396__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = 20 - } - - | - package ex - - foo(__local278__) = y { - split(__local278__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local279__) = y { - data.ex.foo(__local279__, y) - } - - chain1(__local280__) = b { - data.ex.chain0(__local280__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local281__) = [a, b] { - split(__local281__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local282__) = false - - falsy_func_else(__local283__) { - __local283__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local285__, __local286__]) = [a, b] { - data.ex.foo(__local285__, a) - data.ex.foo(__local286__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local287__, "bar": __local288__}) = z { - data.ex.foo(__local287__, a) - data.test.foo(__local288__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local289__) { - __local289__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local290__) = y { - y = __local290__ - } - - multi(2, __local291__) = y { - __local24__ = 2 * __local291__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local292__) = y { - __local26__ = __local292__ * 10 - y = __local26__ - } - - multi("foo", __local293__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local294__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local344__) = y { - trim(__local344__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local345__) = y { - y = __local345__ - } - - multi("bar", __local346__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local363__) = __local363__ - - | - package test.l1.l2 - - p = true - - f(__local380__) = __local380__ - note: functions/multi4 - query: data.ex.multi4 = x - want_result: - - x: bar + - data: {} + modules: + - | + package test.omit_result + + f(__local396__) = __local396__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = 20 + } + - | + package ex + + foo(__local278__) = y { + split(__local278__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local279__) = y { + data.ex.foo(__local279__, y) + } + + chain1(__local280__) = b { + data.ex.chain0(__local280__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local281__) = [a, b] { + split(__local281__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local282__) = false + + falsy_func_else(__local283__) { + __local283__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local285__, __local286__]) = [a, b] { + data.ex.foo(__local285__, a) + data.ex.foo(__local286__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local287__, "bar": __local288__}) = z { + data.ex.foo(__local287__, a) + data.test.foo(__local288__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local289__) { + __local289__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local290__) = y { + y = __local290__ + } + + multi(2, __local291__) = y { + __local24__ = 2 * __local291__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local292__) = y { + __local26__ = __local292__ * 10 + y = __local26__ + } + + multi("foo", __local293__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local294__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local344__) = y { + trim(__local344__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local345__) = y { + y = __local345__ + } + + multi("bar", __local346__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local363__) = __local363__ + - | + package test.l1.l2 + + p = true + + f(__local380__) = __local380__ + note: functions/multi4 + query: data.ex.multi4 = x + want_result: + - x: bar diff --git a/test/cases/testdata/functions/test-functions-1009.yaml b/test/cases/testdata/functions/test-functions-1009.yaml index 649c22195c..4393a8f6da 100644 --- a/test/cases/testdata/functions/test-functions-1009.yaml +++ b/test/cases/testdata/functions/test-functions-1009.yaml @@ -1,202 +1,203 @@ +--- cases: -- data: {} - modules: - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local384__) = __local384__ - - | - package test.l1.l2 - - p = true - - f(__local402__) = __local402__ - - | - package test.omit_result - - f(__local419__) = __local419__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = "bar" - } - - | - package ex - - foo(__local295__) = y { - split(__local295__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local296__) = y { - data.ex.foo(__local296__, y) - } - - chain1(__local297__) = b { - data.ex.chain0(__local297__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local298__) = [a, b] { - split(__local298__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local299__) = false - - falsy_func_else(__local300__) { - __local300__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local302__, __local303__]) = [a, b] { - data.ex.foo(__local302__, a) - data.ex.foo(__local303__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local304__, "bar": __local305__}) = z { - data.ex.foo(__local304__, a) - data.test.foo(__local305__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local306__) { - __local306__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local307__) = y { - y = __local307__ - } - - multi(2, __local308__) = y { - __local24__ = 2 * __local308__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local309__) = y { - __local26__ = __local309__ * 10 - y = __local26__ - } - - multi("foo", __local310__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local311__) = true - - always_true { - data.ex.always_true_fn(1) - } - - | - package test - - foo(__local364__) = y { - trim(__local364__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local365__) = y { - y = __local365__ - } - - multi("bar", __local366__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - note: functions/multi cross package - query: data.test.multi_cross_pkg = x - want_result: - - x: - - bar - - 3 + - data: {} + modules: + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local384__) = __local384__ + - | + package test.l1.l2 + + p = true + + f(__local402__) = __local402__ + - | + package test.omit_result + + f(__local419__) = __local419__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = "bar" + } + - | + package ex + + foo(__local295__) = y { + split(__local295__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local296__) = y { + data.ex.foo(__local296__, y) + } + + chain1(__local297__) = b { + data.ex.chain0(__local297__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local298__) = [a, b] { + split(__local298__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local299__) = false + + falsy_func_else(__local300__) { + __local300__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local302__, __local303__]) = [a, b] { + data.ex.foo(__local302__, a) + data.ex.foo(__local303__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local304__, "bar": __local305__}) = z { + data.ex.foo(__local304__, a) + data.test.foo(__local305__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local306__) { + __local306__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local307__) = y { + y = __local307__ + } + + multi(2, __local308__) = y { + __local24__ = 2 * __local308__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local309__) = y { + __local26__ = __local309__ * 10 + y = __local26__ + } + + multi("foo", __local310__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local311__) = true + + always_true { + data.ex.always_true_fn(1) + } + - | + package test + + foo(__local364__) = y { + trim(__local364__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local365__) = y { + y = __local365__ + } + + multi("bar", __local366__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + note: functions/multi cross package + query: data.test.multi_cross_pkg = x + want_result: + - x: + - bar + - 3 diff --git a/test/cases/testdata/functions/test-functions-1010.yaml b/test/cases/testdata/functions/test-functions-1010.yaml index ea3693e381..131d66d217 100644 --- a/test/cases/testdata/functions/test-functions-1010.yaml +++ b/test/cases/testdata/functions/test-functions-1010.yaml @@ -1,203 +1,204 @@ +--- cases: -- data: {} - modules: - - | - package test - - foo(__local383__) = y { - trim(__local383__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local385__) = y { - y = __local385__ - } - - multi("bar", __local386__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local405__) = __local405__ - - | - package test.l1.l2 - - p = true - - f(__local424__) = __local424__ - - | - package test.omit_result - - f(__local442__) = __local442__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = ["bar", 3] - } - - | - package ex - - foo(__local312__) = y { - split(__local312__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local313__) = y { - data.ex.foo(__local313__, y) - } - - chain1(__local314__) = b { - data.ex.chain0(__local314__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local315__) = [a, b] { - split(__local315__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local316__) = false - - falsy_func_else(__local317__) { - __local317__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local319__, __local320__]) = [a, b] { - data.ex.foo(__local319__, a) - data.ex.foo(__local320__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local321__, "bar": __local322__}) = z { - data.ex.foo(__local321__, a) - data.test.foo(__local322__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local323__) { - __local323__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local324__) = y { - y = __local324__ - } - - multi(2, __local325__) = y { - __local24__ = 2 * __local325__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local326__) = y { - __local26__ = __local326__ * 10 - y = __local26__ - } - - multi("foo", __local327__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local328__) = true - - always_true { - data.ex.always_true_fn(1) - } - note: functions/skip-functions - query: data.test.l1 = x - want_result: - - x: - l2: - p: true - l3: {} + - data: {} + modules: + - | + package test + + foo(__local383__) = y { + trim(__local383__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local385__) = y { + y = __local385__ + } + + multi("bar", __local386__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local405__) = __local405__ + - | + package test.l1.l2 + + p = true + + f(__local424__) = __local424__ + - | + package test.omit_result + + f(__local442__) = __local442__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = ["bar", 3] + } + - | + package ex + + foo(__local312__) = y { + split(__local312__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local313__) = y { + data.ex.foo(__local313__, y) + } + + chain1(__local314__) = b { + data.ex.chain0(__local314__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local315__) = [a, b] { + split(__local315__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local316__) = false + + falsy_func_else(__local317__) { + __local317__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local319__, __local320__]) = [a, b] { + data.ex.foo(__local319__, a) + data.ex.foo(__local320__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local321__, "bar": __local322__}) = z { + data.ex.foo(__local321__, a) + data.test.foo(__local322__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local323__) { + __local323__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local324__) = y { + y = __local324__ + } + + multi(2, __local325__) = y { + __local24__ = 2 * __local325__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local326__) = y { + __local26__ = __local326__ * 10 + y = __local26__ + } + + multi("foo", __local327__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local328__) = true + + always_true { + data.ex.always_true_fn(1) + } + note: functions/skip-functions + query: data.test.l1 = x + want_result: + - x: + l2: + p: true + l3: {} diff --git a/test/cases/testdata/functions/test-functions-1011.yaml b/test/cases/testdata/functions/test-functions-1011.yaml index 756e4d5295..b447581710 100644 --- a/test/cases/testdata/functions/test-functions-1011.yaml +++ b/test/cases/testdata/functions/test-functions-1011.yaml @@ -1,200 +1,201 @@ +--- cases: -- data: {} - modules: - - | - package test - - foo(__local403__) = y { - trim(__local403__, "h o", y) - } - - cross = y { - data.ex.cross("hi, my name is foo", y) - } - - multi("foo", __local404__) = y { - y = __local404__ - } - - multi("bar", __local406__) = y { - y = "baz" - } - - multi_cross_pkg = [y, z] { - data.test.multi("foo", "bar", y) - data.ex.multi(2, 1, z) - } - - | - package test - - samepkg = y { - data.test.foo("how do you do?", y) - } - - | - package test.l1.l3 - - g(__local426__) = __local426__ - - | - package test.l1.l2 - - p = true - - f(__local446__) = __local446__ - - | - package test.omit_result - - f(__local465__) = __local465__ - - p { - data.test.omit_result.f(1) - } - - | - package topdown_test_partial - - __result__ = _result { - _result = {"l2": {"p": true}, "l3": {}} - } - - | - package ex - - foo(__local329__) = y { - split(__local329__, "i", y) - } - - bar[x] = y { - data.l[_].a = x - data.ex.foo(x, y) - } - - chain0(__local330__) = y { - data.ex.foo(__local330__, y) - } - - chain1(__local331__) = b { - data.ex.chain0(__local331__, b) - } - - chain2 = d { - data.ex.chain1("fooibar", d) - } - - cross(__local332__) = [a, b] { - split(__local332__, "i", y) - __local27__ = y[1] - data.ex.foo(__local27__, b) - __local28__ = y[2] - data.test.foo(__local28__, a) - } - - falsy_func(__local333__) = false - - falsy_func_else(__local334__) { - __local334__ = 1 - } - - else = false { - true - } - - falsy_undefined { - data.ex.falsy_func(1) - } - - falsy_negation { - not data.ex.falsy_func(1) - } - - falsy_else_value = __local23__ { - true - data.ex.falsy_func_else(2, __local23__) - } - - falsy_else_undefined { - data.ex.falsy_func_else(2) - } - - falsy_else_negation { - not data.ex.falsy_func_else(2) - } - - arrays([__local336__, __local337__]) = [a, b] { - data.ex.foo(__local336__, a) - data.ex.foo(__local337__, b) - } - - arraysrule = y { - data.ex.arrays(["hih", "foo"], y) - } - - objects({"foo": __local338__, "bar": __local339__}) = z { - data.ex.foo(__local338__, a) - data.test.foo(__local339__, b) - z = [a, b] - } - - objectsrule = y { - data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) - } - - refoutput = y { - data.ex.foo("hih", z) - y = z[1] - } - - void(__local340__) { - __local340__ = "foo" - } - - voidGood { - not data.ex.void("bar", true) - } - - voidBad { - data.ex.void("bar", true) - } - - multi(1, __local341__) = y { - y = __local341__ - } - - multi(2, __local342__) = y { - __local24__ = 2 * __local342__ - a = __local24__ - __local25__ = a + 1 - y = __local25__ - } - - multi(3, __local343__) = y { - __local26__ = __local343__ * 10 - y = __local26__ - } - - multi("foo", __local344__) = y { - y = "bar" - } - - multi1 = y { - data.ex.multi(1, 2, y) - } - - multi2 = y { - data.ex.multi(2, 2, y) - } - - multi3 = y { - data.ex.multi(3, 2, y) - } - - multi4 = y { - data.ex.multi("foo", 2, y) - } - - always_true_fn(__local345__) = true - - always_true { - data.ex.always_true_fn(1) - } - note: functions/omit result - query: data.test.omit_result.p = x - want_result: - - x: true + - data: {} + modules: + - | + package test + + foo(__local403__) = y { + trim(__local403__, "h o", y) + } + + cross = y { + data.ex.cross("hi, my name is foo", y) + } + + multi("foo", __local404__) = y { + y = __local404__ + } + + multi("bar", __local406__) = y { + y = "baz" + } + + multi_cross_pkg = [y, z] { + data.test.multi("foo", "bar", y) + data.ex.multi(2, 1, z) + } + - | + package test + + samepkg = y { + data.test.foo("how do you do?", y) + } + - | + package test.l1.l3 + + g(__local426__) = __local426__ + - | + package test.l1.l2 + + p = true + + f(__local446__) = __local446__ + - | + package test.omit_result + + f(__local465__) = __local465__ + + p { + data.test.omit_result.f(1) + } + - | + package topdown_test_partial + + __result__ = _result { + _result = {"l2": {"p": true}, "l3": {}} + } + - | + package ex + + foo(__local329__) = y { + split(__local329__, "i", y) + } + + bar[x] = y { + data.l[_].a = x + data.ex.foo(x, y) + } + + chain0(__local330__) = y { + data.ex.foo(__local330__, y) + } + + chain1(__local331__) = b { + data.ex.chain0(__local331__, b) + } + + chain2 = d { + data.ex.chain1("fooibar", d) + } + + cross(__local332__) = [a, b] { + split(__local332__, "i", y) + __local27__ = y[1] + data.ex.foo(__local27__, b) + __local28__ = y[2] + data.test.foo(__local28__, a) + } + + falsy_func(__local333__) = false + + falsy_func_else(__local334__) { + __local334__ = 1 + } + + else = false { + true + } + + falsy_undefined { + data.ex.falsy_func(1) + } + + falsy_negation { + not data.ex.falsy_func(1) + } + + falsy_else_value = __local23__ { + true + data.ex.falsy_func_else(2, __local23__) + } + + falsy_else_undefined { + data.ex.falsy_func_else(2) + } + + falsy_else_negation { + not data.ex.falsy_func_else(2) + } + + arrays([__local336__, __local337__]) = [a, b] { + data.ex.foo(__local336__, a) + data.ex.foo(__local337__, b) + } + + arraysrule = y { + data.ex.arrays(["hih", "foo"], y) + } + + objects({"foo": __local338__, "bar": __local339__}) = z { + data.ex.foo(__local338__, a) + data.test.foo(__local339__, b) + z = [a, b] + } + + objectsrule = y { + data.ex.objects({"bar": "hi ho", "foo": "hih"}, y) + } + + refoutput = y { + data.ex.foo("hih", z) + y = z[1] + } + + void(__local340__) { + __local340__ = "foo" + } + + voidGood { + not data.ex.void("bar", true) + } + + voidBad { + data.ex.void("bar", true) + } + + multi(1, __local341__) = y { + y = __local341__ + } + + multi(2, __local342__) = y { + __local24__ = 2 * __local342__ + a = __local24__ + __local25__ = a + 1 + y = __local25__ + } + + multi(3, __local343__) = y { + __local26__ = __local343__ * 10 + y = __local26__ + } + + multi("foo", __local344__) = y { + y = "bar" + } + + multi1 = y { + data.ex.multi(1, 2, y) + } + + multi2 = y { + data.ex.multi(2, 2, y) + } + + multi3 = y { + data.ex.multi(3, 2, y) + } + + multi4 = y { + data.ex.multi("foo", 2, y) + } + + always_true_fn(__local345__) = true + + always_true { + data.ex.always_true_fn(1) + } + note: functions/omit result + query: data.test.omit_result.p = x + want_result: + - x: true diff --git a/test/cases/testdata/functions/test-functions-default.yaml b/test/cases/testdata/functions/test-functions-default.yaml index 6706ac4d18..6a5b6de29a 100644 --- a/test/cases/testdata/functions/test-functions-default.yaml +++ b/test/cases/testdata/functions/test-functions-default.yaml @@ -1,99 +1,100 @@ +--- cases: -- data: - modules: - - | - package test - - default f(x) = 1 - - f(x) = x { - x > 0 - } - - p { - f(-1) == 1 - } - - note: functions/default - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - - default f(x) = 1 - - f(x) = x { - x > 0 - } - - p { - f(2) == 2 - } - - note: functions/non default - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - - default f(x) = 1 - - p { - f(2) == 1 - } - - note: functions/only default - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - - default f(_, _) = 1 - - f(x, y) = x { - x == y - } - - p { - f(2, 2) == 2 - } - - note: functions/wildcard args - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - - default f(x) = 1000 - - f(x) = x { - x > 0 - } - - p = xs { - xs := [y | x = [1, -2, 3][_]; y := f(x)] - } - - note: functions/comprehensions - query: data.test.p = x - want_result: - - x: - - 1 - - 1000 - - 3 + - data: + modules: + - | + package test + + default f(x) = 1 + + f(x) = x { + x > 0 + } + + p { + f(-1) == 1 + } + + note: functions/default + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + + default f(x) = 1 + + f(x) = x { + x > 0 + } + + p { + f(2) == 2 + } + + note: functions/non default + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + + default f(x) = 1 + + p { + f(2) == 1 + } + + note: functions/only default + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + + default f(_, _) = 1 + + f(x, y) = x { + x == y + } + + p { + f(2, 2) == 2 + } + + note: functions/wildcard args + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + + default f(x) = 1000 + + f(x) = x { + x > 0 + } + + p = xs { + xs := [y | x = [1, -2, 3][_]; y := f(x)] + } + + note: functions/comprehensions + query: data.test.p = x + want_result: + - x: + - 1 + - 1000 + - 3 diff --git a/test/cases/testdata/functions/test-functions-nested-with-early-exit.yaml b/test/cases/testdata/functions/test-functions-nested-with-early-exit.yaml index 2ebc5514ee..33c6b78487 100644 --- a/test/cases/testdata/functions/test-functions-nested-with-early-exit.yaml +++ b/test/cases/testdata/functions/test-functions-nested-with-early-exit.yaml @@ -1,99 +1,100 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p(_) { - data.generated.q - } + p(_) { + data.generated.q + } - q = true + q = true - q = false - note: 'functions/nested complete doc with conflict' - query: data.generated.p(1) = x - want_error: complete rules must not produce multiple outputs - want_error_code: eval_conflict_error -- data: - modules: - - | - package generated + q = false + note: "functions/nested complete doc with conflict" + query: data.generated.p(1) = x + want_error: complete rules must not produce multiple outputs + want_error_code: eval_conflict_error + - data: + modules: + - | + package generated - p(_) { - data.generated.q - } + p(_) { + data.generated.q + } - q = true { - false - } - else = true { - true - } + q = true { + false + } + else = true { + true + } - q = true { - false - } - else = false { - true - } - note: 'functions/nested complete doc with conflict, else' - query: data.generated.p(1) = x - want_error: complete rules must not produce multiple outputs - want_error_code: eval_conflict_error -- data: - modules: - - | - package generated + q = true { + false + } + else = false { + true + } + note: "functions/nested complete doc with conflict, else" + query: data.generated.p(1) = x + want_error: complete rules must not produce multiple outputs + want_error_code: eval_conflict_error + - data: + modules: + - | + package generated - p(x) { - y := data.generated.q(x) - } + p(x) { + y := data.generated.q(x) + } - q(_) = true + q(_) = true - q(_) = false - note: 'functions/nested function with conflict' - query: data.generated.p(1) = x - want_error: functions must not produce multiple outputs for same inputs - want_error_code: eval_conflict_error -- data: - modules: - - | - package generated + q(_) = false + note: "functions/nested function with conflict" + query: data.generated.p(1) = x + want_error: functions must not produce multiple outputs for same inputs + want_error_code: eval_conflict_error + - data: + modules: + - | + package generated - p(x) { - y := data.generated.q(x) - } + p(x) { + y := data.generated.q(x) + } - q(_) = true { - false - } - else = true { - true - } + q(_) = true { + false + } + else = true { + true + } - q(_) = true { - false - } - else = false { - true - } - note: 'functions/nested function with conflict, else' - query: data.generated.p(1) = x - want_error: functions must not produce multiple outputs for same inputs - want_error_code: eval_conflict_error -- data: - modules: - - | - package test + q(_) = true { + false + } + else = false { + true + } + note: "functions/nested function with conflict, else" + query: data.generated.p(1) = x + want_error: functions must not produce multiple outputs for same inputs + want_error_code: eval_conflict_error + - data: + modules: + - | + package test - p(x) { - y := data.test.q(x) - } - xs = {1, 2} - q(_) = xs[_] - note: 'functions/nested function with conflict, else, no extra return' - query: data.test.p(1) = x - want_error: functions must not produce multiple outputs for same inputs - want_error_code: eval_conflict_error \ No newline at end of file + p(x) { + y := data.test.q(x) + } + xs = {1, 2} + q(_) = xs[_] + note: "functions/nested function with conflict, else, no extra return" + query: data.test.p(1) = x + want_error: functions must not produce multiple outputs for same inputs + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/functions/test-functions-unused-arg.yaml b/test/cases/testdata/functions/test-functions-unused-arg.yaml index 705984509d..147d02a8ba 100644 --- a/test/cases/testdata/functions/test-functions-unused-arg.yaml +++ b/test/cases/testdata/functions/test-functions-unused-arg.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: - modules: - - | - package p - - f(x) { - r = input.that_is_not_there - } - note: unused arg - query: data.p.f(1) - want_result: [] + - data: + modules: + - | + package p + + f(x) { + r = input.that_is_not_there + } + note: unused arg + query: data.p.f(1) + want_result: [] diff --git a/test/cases/testdata/globmatch/test-globmatch-0133.yaml b/test/cases/testdata/globmatch/test-globmatch-0133.yaml index 37a276c8c3..f4053a4f2b 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0133.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0133.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("*.github.com", ["."], "api.github.com", x) - } - note: globmatch/glob match with . delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("*.github.com", ["."], "api.github.com", x) + } + note: globmatch/glob match with . delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0134.yaml b/test/cases/testdata/globmatch/test-globmatch-0134.yaml index ff08e31175..962bfc2c27 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0134.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0134.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("api.**.com", ["."], "api.github.com", x) - } - note: globmatch/super glob match with . delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("api.**.com", ["."], "api.github.com", x) + } + note: globmatch/super glob match with . delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0135.yaml b/test/cases/testdata/globmatch/test-globmatch-0135.yaml index cc0b3824c8..a98e321f11 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0135.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0135.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("api.**.com", ["."], "api.cdn.github.com", x) - } - note: globmatch/super glob match with . delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("api.**.com", ["."], "api.cdn.github.com", x) + } + note: globmatch/super glob match with . delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0136.yaml b/test/cases/testdata/globmatch/test-globmatch-0136.yaml index c64f14e287..97bc71eea5 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0136.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0136.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("*:github:com", [":"], "api:github:com", x) - } - note: 'globmatch/glob match with : delimiter' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("*:github:com", [":"], "api:github:com", x) + } + note: "globmatch/glob match with : delimiter" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0137.yaml b/test/cases/testdata/globmatch/test-globmatch-0137.yaml index 25edda8bd4..c82e80feee 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0137.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0137.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("*.github.com", ["."], "api.not-github.com", x) - } - note: globmatch/glob no match with . delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + glob.match("*.github.com", ["."], "api.not-github.com", x) + } + note: globmatch/glob no match with . delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/globmatch/test-globmatch-0138.yaml b/test/cases/testdata/globmatch/test-globmatch-0138.yaml index 2014bd4b7a..c09c714db9 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0138.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0138.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("[abc]at", [], "cat", x) - } - note: globmatch/glob match with character-list matchers - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("[abc]at", [], "cat", x) + } + note: globmatch/glob match with character-list matchers + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0139.yaml b/test/cases/testdata/globmatch/test-globmatch-0139.yaml index bdfb2dd52a..4be4e8bd69 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0139.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0139.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("[abc]at", [], "fat", x) - } - note: globmatch/glob no match with character-list matchers - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + glob.match("[abc]at", [], "fat", x) + } + note: globmatch/glob no match with character-list matchers + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/globmatch/test-globmatch-0140.yaml b/test/cases/testdata/globmatch/test-globmatch-0140.yaml index 8fe4cc58d3..c654f92042 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0140.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0140.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("[!abc]at", [], "fat", x) - } - note: globmatch/glob match with negated character-list matchers - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("[!abc]at", [], "fat", x) + } + note: globmatch/glob match with negated character-list matchers + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0141.yaml b/test/cases/testdata/globmatch/test-globmatch-0141.yaml index 0ccc69df88..f4947de421 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0141.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0141.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("[!abc]at", [], "cat", x) - } - note: globmatch/glob no match with negated character-list matchers - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + glob.match("[!abc]at", [], "cat", x) + } + note: globmatch/glob no match with negated character-list matchers + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/globmatch/test-globmatch-0142.yaml b/test/cases/testdata/globmatch/test-globmatch-0142.yaml index df9622bd42..f4f40cd16c 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0142.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0142.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("[a-c]at", [], "bat", x) - } - note: globmatch/glob match with character-range matchers - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("[a-c]at", [], "bat", x) + } + note: globmatch/glob match with character-range matchers + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0143.yaml b/test/cases/testdata/globmatch/test-globmatch-0143.yaml index 53f4733ad5..49a904373f 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0143.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0143.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("[a-c]at", [], "fat", x) - } - note: globmatch/glob no match with character-range matchers - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + glob.match("[a-c]at", [], "fat", x) + } + note: globmatch/glob no match with character-range matchers + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/globmatch/test-globmatch-0144.yaml b/test/cases/testdata/globmatch/test-globmatch-0144.yaml index 67605603cc..64ae2f0e56 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0144.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0144.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("[!a-c]at", [], "bat", x) - } - note: globmatch/glob no match with character-range matchers - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + glob.match("[!a-c]at", [], "bat", x) + } + note: globmatch/glob no match with character-range matchers + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/globmatch/test-globmatch-0145.yaml b/test/cases/testdata/globmatch/test-globmatch-0145.yaml index a0c7bee6fd..502940c2c4 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0145.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0145.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("[!a-c]at", [], "fat", x) - } - note: globmatch/glob match with character-range matchers - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("[!a-c]at", [], "fat", x) + } + note: globmatch/glob match with character-range matchers + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0146.yaml b/test/cases/testdata/globmatch/test-globmatch-0146.yaml index af9c313ac2..368fa11f7e 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0146.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0146.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("?at", [], "fat", x) - } - note: globmatch/glob match with single wild-card - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("?at", [], "fat", x) + } + note: globmatch/glob match with single wild-card + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0147.yaml b/test/cases/testdata/globmatch/test-globmatch-0147.yaml index 67b264dc0f..69b9caf22c 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0147.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0147.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("?at", [], "at", x) - } - note: globmatch/glob no match with single wild-card - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + glob.match("?at", [], "at", x) + } + note: globmatch/glob no match with single wild-card + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/globmatch/test-globmatch-0148.yaml b/test/cases/testdata/globmatch/test-globmatch-0148.yaml index 29f5debf8b..09dfeed8a3 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0148.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0148.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("?at", ["f"], "bat", x) - } - note: globmatch/glob match with single wild-card and delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("?at", ["f"], "bat", x) + } + note: globmatch/glob match with single wild-card and delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0149.yaml b/test/cases/testdata/globmatch/test-globmatch-0149.yaml index ed41d844f5..7f48b43b11 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0149.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0149.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("?at", ["f"], "fat", x) - } - note: globmatch/glob no match with single wild-card and delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + glob.match("?at", ["f"], "fat", x) + } + note: globmatch/glob no match with single wild-card and delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/globmatch/test-globmatch-0150.yaml b/test/cases/testdata/globmatch/test-globmatch-0150.yaml index ce9f2a64ed..64e2e47f4a 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0150.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0150.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("{cat,bat,[fr]at}", [], "cat", x) - } - note: globmatch/glob match with pattern-alternatives list (cat) - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("{cat,bat,[fr]at}", [], "cat", x) + } + note: globmatch/glob match with pattern-alternatives list (cat) + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0151.yaml b/test/cases/testdata/globmatch/test-globmatch-0151.yaml index 9ca2340ff6..af5154257b 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0151.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0151.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("{cat,bat,[fr]at}", [], "bat", x) - } - note: globmatch/glob match with pattern-alternatives list (bat) - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("{cat,bat,[fr]at}", [], "bat", x) + } + note: globmatch/glob match with pattern-alternatives list (bat) + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0152.yaml b/test/cases/testdata/globmatch/test-globmatch-0152.yaml index 94a4a29817..e727cfc7dd 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0152.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0152.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("{cat,bat,[fr]at}", [], "fat", x) - } - note: globmatch/glob match with pattern-alternatives list (fat) - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("{cat,bat,[fr]at}", [], "fat", x) + } + note: globmatch/glob match with pattern-alternatives list (fat) + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0153.yaml b/test/cases/testdata/globmatch/test-globmatch-0153.yaml index a4a38a5ea6..2da53f781a 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0153.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0153.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("{cat,bat,[fr]at}", [], "rat", x) - } - note: globmatch/glob match with pattern-alternatives list (rat) - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("{cat,bat,[fr]at}", [], "rat", x) + } + note: globmatch/glob match with pattern-alternatives list (rat) + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0154.yaml b/test/cases/testdata/globmatch/test-globmatch-0154.yaml index a6868a4d75..386975ac18 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0154.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0154.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("{cat,bat,[fr]at}", [], "at", x) - } - note: globmatch/glob no match with pattern-alternatives list - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + glob.match("{cat,bat,[fr]at}", [], "at", x) + } + note: globmatch/glob no match with pattern-alternatives list + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/globmatch/test-globmatch-0155.yaml b/test/cases/testdata/globmatch/test-globmatch-0155.yaml index 698a6f2f08..750ccccd50 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0155.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0155.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("*", ["."], "foo", x) - } - note: globmatch/glob match single with . delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("*", ["."], "foo", x) + } + note: globmatch/glob match single with . delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0156.yaml b/test/cases/testdata/globmatch/test-globmatch-0156.yaml index 8fb9a00019..7acd48bf1b 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0156.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0156.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("*", [], "foo", x) - } - note: globmatch/glob match single with default delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + glob.match("*", [], "foo", x) + } + note: globmatch/glob match single with default delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-0157.yaml b/test/cases/testdata/globmatch/test-globmatch-0157.yaml index 4f2c0eee57..e5d43d27bb 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0157.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0157.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("*", ["."], "foo.bar", x) - } - note: globmatch/glob no match single with . delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + glob.match("*", ["."], "foo.bar", x) + } + note: globmatch/glob no match single with . delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/globmatch/test-globmatch-0158.yaml b/test/cases/testdata/globmatch/test-globmatch-0158.yaml index fb03de5891..8b88178389 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0158.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0158.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("*", [], "foo.bar", x) - } - note: globmatch/glob no match single with default delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + glob.match("*", [], "foo.bar", x) + } + note: globmatch/glob no match single with default delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/globmatch/test-globmatch-0159.yaml b/test/cases/testdata/globmatch/test-globmatch-0159.yaml index f69746b37b..7ddb148c0b 100644 --- a/test/cases/testdata/globmatch/test-globmatch-0159.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-0159.yaml @@ -1,29 +1,30 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.match("*", null, "foo.bar", x) - } - note: globmatch/glob match single without default delimiter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true -- data: {} - modules: - - | - package generated + p[x] { + glob.match("*", null, "foo.bar", x) + } + note: globmatch/glob match single without default delimiter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true + - data: {} + modules: + - | + package generated - p[x] { - glob.match("foo*", null, "foo.bar", x) - } - note: globmatch/glob match single without default delimiter, glob non-empty - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true \ No newline at end of file + p[x] { + glob.match("foo*", null, "foo.bar", x) + } + note: globmatch/glob match single without default delimiter, glob non-empty + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-issue-5273.yaml b/test/cases/testdata/globmatch/test-globmatch-issue-5273.yaml index 415103e2d8..5190232e73 100644 --- a/test/cases/testdata/globmatch/test-globmatch-issue-5273.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-issue-5273.yaml @@ -1,15 +1,16 @@ +--- cases: -- modules: - - | - package test + - modules: + - | + package test - p[x] { - glob.match("*.github.com", ["."], "api.github.com", x) - glob.match("*.github.com", ["."], "api.github.com", x) - } - # See: https://github.com/open-policy-agent/opa/issues/5273 - note: globmatch/no deadlocks for glob match - query: data.test.p = x - want_result: - - x: - - true + p[x] { + glob.match("*.github.com", ["."], "api.github.com", x) + glob.match("*.github.com", ["."], "api.github.com", x) + } + # See: https://github.com/open-policy-agent/opa/issues/5273 + note: globmatch/no deadlocks for glob match + query: data.test.p = x + want_result: + - x: + - true diff --git a/test/cases/testdata/globmatch/test-globmatch-issue-5283.yaml b/test/cases/testdata/globmatch/test-globmatch-issue-5283.yaml index 4c2c0a106c..8ddb191def 100644 --- a/test/cases/testdata/globmatch/test-globmatch-issue-5283.yaml +++ b/test/cases/testdata/globmatch/test-globmatch-issue-5283.yaml @@ -1,24 +1,25 @@ +--- # See https://github.com/open-policy-agent/opa/issues/528 cases: -- modules: - - | - package test - p = x { - x := glob.match("*.github.com", ["."], input) - } - input: api.example.com - note: globmatch/captured negative results, variable - query: data.test.p = x - want_result: - - x: false -- modules: - - | - package test - p { - glob.match("*.github.com", ["."], input, false) - } - input: api.example.com - note: globmatch/captured negative result, constant - query: data.test.p = x - want_result: - - x: true \ No newline at end of file + - modules: + - | + package test + p = x { + x := glob.match("*.github.com", ["."], input) + } + input: api.example.com + note: globmatch/captured negative results, variable + query: data.test.p = x + want_result: + - x: false + - modules: + - | + package test + p { + glob.match("*.github.com", ["."], input, false) + } + input: api.example.com + note: globmatch/captured negative result, constant + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/globquotemeta/test-globquotemeta-0159.yaml b/test/cases/testdata/globquotemeta/test-globquotemeta-0159.yaml index d9a718d4fd..c2be6dafd2 100644 --- a/test/cases/testdata/globquotemeta/test-globquotemeta-0159.yaml +++ b/test/cases/testdata/globquotemeta/test-globquotemeta-0159.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - glob.quote_meta("*.github.com", x) - } - note: globquotemeta/glob quote meta - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - \*.github.com + p[x] { + glob.quote_meta("*.github.com", x) + } + note: globquotemeta/glob quote meta + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - \*.github.com diff --git a/test/cases/testdata/globsmatch/test-globsmatch-0865.yaml b/test/cases/testdata/globsmatch/test-globsmatch-0865.yaml index 763d876509..d34a49f829 100644 --- a/test/cases/testdata/globsmatch/test-globsmatch-0865.yaml +++ b/test/cases/testdata/globsmatch/test-globsmatch-0865.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - regex.globs_match("a.a.[0-9]+z", ".b.b2359825792*594823z") - } - note: globsmatch/regex.globs_match - query: data.generated.p = x - want_result: - - x: true + p { + regex.globs_match("a.a.[0-9]+z", ".b.b2359825792*594823z") + } + note: globsmatch/regex.globs_match + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/globsmatch/test-globsmatch-0866.yaml b/test/cases/testdata/globsmatch/test-globsmatch-0866.yaml index 934b458054..65793f0bd0 100644 --- a/test/cases/testdata/globsmatch/test-globsmatch-0866.yaml +++ b/test/cases/testdata/globsmatch/test-globsmatch-0866.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - regex.globs_match("[a-z]+", "[0-9]*") - } - note: globsmatch/regex.globs_match - query: data.generated.p = x - want_result: [] + p { + regex.globs_match("[a-z]+", "[0-9]*") + } + note: globsmatch/regex.globs_match + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/globsmatch/test-globsmatch-0867.yaml b/test/cases/testdata/globsmatch/test-globsmatch-0867.yaml index 1a240604b4..9ef1374fb8 100644 --- a/test/cases/testdata/globsmatch/test-globsmatch-0867.yaml +++ b/test/cases/testdata/globsmatch/test-globsmatch-0867.yaml @@ -1,15 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p { - regex.globs_match("pqrs]", "[a-b]+") - } - note: 'globsmatch/regex.globs_match: bad pattern err' - query: data.generated.p = x - want_error: 'input:pqrs], pos:5, set-close '']'' with no preceding ''['': the input - provided is invalid' - want_error_code: eval_builtin_error - strict_error: true + p { + regex.globs_match("pqrs]", "[a-b]+") + } + note: "globsmatch/regex.globs_match: bad pattern err" + query: data.generated.p = x + want_error: + "input:pqrs], pos:5, set-close ']' with no preceding '[': the input + provided is invalid" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/globsmatch/test-globsmatch-0868.yaml b/test/cases/testdata/globsmatch/test-globsmatch-0868.yaml index 7964074e28..6cc7ad1e8b 100644 --- a/test/cases/testdata/globsmatch/test-globsmatch-0868.yaml +++ b/test/cases/testdata/globsmatch/test-globsmatch-0868.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - d: - e: - - bar - - baz - modules: - - | - package generated + - data: + d: + e: + - bar + - baz + modules: + - | + package generated - p[x] { - __local0__ = data.d.e[x] - regex.globs_match("b.*", __local0__) - } - note: 'globsmatch/regex.globs_match: ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 0 - - 1 + p[x] { + __local0__ = data.d.e[x] + regex.globs_match("b.*", __local0__) + } + note: "globsmatch/regex.globs_match: ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 0 + - 1 diff --git a/test/cases/testdata/globsmatch/test-globsmatch-0869.yaml b/test/cases/testdata/globsmatch/test-globsmatch-0869.yaml index 14156e1464..ff70dc5ea9 100644 --- a/test/cases/testdata/globsmatch/test-globsmatch-0869.yaml +++ b/test/cases/testdata/globsmatch/test-globsmatch-0869.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - regex.globs_match(`[a-z]+\[[0-9]+\]`, "foo\\[1\\]") - } - note: 'globsmatch/regex.globs_match: raw' - query: data.generated.p = x - want_result: - - x: true + p { + regex.globs_match(`[a-z]+\[[0-9]+\]`, "foo\\[1\\]") + } + note: "globsmatch/regex.globs_match: raw" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/globsmatch/test-globsmatch-0870.yaml b/test/cases/testdata/globsmatch/test-globsmatch-0870.yaml index 5d0daceae1..a4ed53cb10 100644 --- a/test/cases/testdata/globsmatch/test-globsmatch-0870.yaml +++ b/test/cases/testdata/globsmatch/test-globsmatch-0870.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - regex.globs_match(`[a-z]+\[[0-9]+\]`, "foo[\"bar\"]") - } - note: 'globsmatch/regex.globs_match: raw: undefined' - query: data.generated.p = x - want_result: [] + p { + regex.globs_match(`[a-z]+\[[0-9]+\]`, "foo[\"bar\"]") + } + note: "globsmatch/regex.globs_match: raw: undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/graphql/test-graphql-basic-ast.yaml b/test/cases/testdata/graphql/test-graphql-basic-ast.yaml index 3b6655a6a9..6faac60d52 100644 --- a/test/cases/testdata/graphql/test-graphql-basic-ast.yaml +++ b/test/cases/testdata/graphql/test-graphql-basic-ast.yaml @@ -1,3 +1,4 @@ +--- # These unit tests check that we get JSON AST structures with # expected structure and content. If these ever break, policies # depending on the GraphQL ASTs will too! diff --git a/test/cases/testdata/graphql/test-graphql-is-valid.yaml b/test/cases/testdata/graphql/test-graphql-is-valid.yaml index 7ec2f7d1ef..2378614033 100644 --- a/test/cases/testdata/graphql/test-graphql-is-valid.yaml +++ b/test/cases/testdata/graphql/test-graphql-is-valid.yaml @@ -1,3 +1,4 @@ +--- # This suite of tests is adapted from the underlying GraphQL parser library's # own test suite, as it provides a fairly comprehensive set of good/degenerate # test cases, which we want to make sure to react correctly to. diff --git a/test/cases/testdata/graphql/test-graphql-parse-and-verify.yaml b/test/cases/testdata/graphql/test-graphql-parse-and-verify.yaml index b1fcba4e21..af41c8b2ff 100644 --- a/test/cases/testdata/graphql/test-graphql-parse-and-verify.yaml +++ b/test/cases/testdata/graphql/test-graphql-parse-and-verify.yaml @@ -1,3 +1,4 @@ +--- # This suite of tests is adapted from the underlying GraphQL parser library's # own test suite, as it provides a fairly comprehensive set of good/degenerate # test cases, which we want to make sure to react correctly to. diff --git a/test/cases/testdata/graphql/test-graphql-parse-query.yaml b/test/cases/testdata/graphql/test-graphql-parse-query.yaml index 62a4b5510f..9ef7ca081b 100644 --- a/test/cases/testdata/graphql/test-graphql-parse-query.yaml +++ b/test/cases/testdata/graphql/test-graphql-parse-query.yaml @@ -1,9 +1,10 @@ +--- # This suite of tests is adapted from the underlying GraphQL parser library's # own test suite, as it provides a fairly comprehensive set of good/degenerate # test cases, which we want to make sure to react correctly to. # See: https://github.com/vektah/gqlparser/blob/master/parser/query_test.yml cases: -# parser provides useful errors: + # parser provides useful errors: - data: modules: - | @@ -13,7 +14,7 @@ cases: } note: graphql_parse_query/failure-unclosed paren query: data.test.p = x - want_error: 'graphql.parse_query: Expected Name, found in GraphQL string at location 1:2' + want_error: "graphql.parse_query: Expected Name, found in GraphQL string at location 1:2" want_error_code: eval_builtin_error strict_error: true - data: @@ -42,7 +43,7 @@ cases: } note: graphql_parse_query/failure-missing name after alias query: data.test.p = x - want_error: 'graphql.parse_query: Expected Name, found { in GraphQL string at location 1:10' + want_error: "graphql.parse_query: Expected Name, found { in GraphQL string at location 1:10" want_error_code: eval_builtin_error strict_error: true - data: @@ -68,10 +69,10 @@ cases: } note: graphql_parse_query/failure-a wild splat appears query: data.test.p = x - want_error: 'graphql.parse_query: Unexpected ... in GraphQL string at location 1:1' + want_error: "graphql.parse_query: Unexpected ... in GraphQL string at location 1:1" want_error_code: eval_builtin_error strict_error: true -# variables: + # variables: - data: modules: - | @@ -95,7 +96,7 @@ cases: } note: graphql_parse_query/failure-variables are not allowed in default args query: data.test.p = x - want_error: 'graphql.parse_query: Unexpected $ in GraphQL string at location 1:37' + want_error: "graphql.parse_query: Unexpected $ in GraphQL string at location 1:37" want_error_code: eval_builtin_error strict_error: true - data: @@ -111,7 +112,7 @@ cases: query: data.test.p = x want_result: - x: true -# fragments: + # fragments: - data: modules: - | @@ -135,10 +136,10 @@ cases: } note: graphql_parse_query/failure-fragment can not spread fragments called 'on' query: data.test.p = x - want_error: 'graphql.parse_query: Expected Name, found } in GraphQL string at location 1:9' + want_error: "graphql.parse_query: Expected Name, found } in GraphQL string at location 1:9" want_error_code: eval_builtin_error strict_error: true -# encoding: + # encoding: - data: modules: - | @@ -155,7 +156,7 @@ cases: query: data.test.p = x want_result: - x: true -# keywords are allowed anywhere a name is: + # keywords are allowed anywhere a name is: - data: modules: - | @@ -222,7 +223,7 @@ cases: query: data.test.p = x want_result: - x: true -# operations: + # operations: - data: modules: - | @@ -275,7 +276,7 @@ cases: query: data.test.p = x want_result: - x: true -# ast: + # ast: - data: modules: - | @@ -328,7 +329,7 @@ cases: query: data.test.p = x want_result: - x: true -# values: + # values: - data: modules: - | @@ -368,7 +369,7 @@ cases: query: data.test.p = x want_result: - x: true -# types: + # types: - data: modules: - | @@ -382,7 +383,7 @@ cases: query: data.test.p = x want_result: - x: true -# large queries: + # large queries: - data: modules: - | @@ -449,7 +450,7 @@ cases: query: data.test.p = x want_result: - x: true -# fuzzer: + # fuzzer: - data: modules: - | @@ -460,7 +461,7 @@ cases: } note: graphql_parse_query/failure-fuzzer 01 query: data.test.p = x - want_error: 'graphql.parse_query: Expected {, found } in GraphQL string at location 1:16' + want_error: "graphql.parse_query: Expected {, found } in GraphQL string at location 1:16" want_error_code: eval_builtin_error strict_error: true - data: @@ -473,6 +474,6 @@ cases: } note: graphql_parse_query/failure-fuzzer 02 query: data.test.p = x - want_error: 'graphql.parse_query: expected at least one definition, found } in GraphQL string at location 1:21' + want_error: "graphql.parse_query: expected at least one definition, found } in GraphQL string at location 1:21" want_error_code: eval_builtin_error strict_error: true diff --git a/test/cases/testdata/graphql/test-graphql-parse-schema.yaml b/test/cases/testdata/graphql/test-graphql-parse-schema.yaml index 91e424d01e..0c95403fb9 100644 --- a/test/cases/testdata/graphql/test-graphql-parse-schema.yaml +++ b/test/cases/testdata/graphql/test-graphql-parse-schema.yaml @@ -1,9 +1,10 @@ +--- # This suite of tests is adapted from the underlying GraphQL parser library's # own test suite, as it provides a fairly comprehensive set of good/degenerate # test cases, which we want to make sure to react correctly to. # See: https://github.com/vektah/gqlparser/blob/master/parser/schema_test.yml cases: -# object types: + # object types: - data: modules: - | @@ -138,11 +139,11 @@ cases: } note: graphql_parse_schema/failure-object-types must define one or more fields query: data.test.p = x - want_error: 'graphql.parse_schema: expected at least one definition, found } in GraphQL string at location 1:13' + want_error: "graphql.parse_schema: expected at least one definition, found } in GraphQL string at location 1:13" want_error_code: eval_builtin_error strict_error: true -# type extensions: + # type extensions: - data: modules: - | @@ -199,7 +200,7 @@ cases: } note: graphql_parse_schema/failure-type-extensions without anything errors query: data.test.p = x - want_error: 'graphql.parse_schema: Unexpected in GraphQL string at location 1:18' + want_error: "graphql.parse_schema: Unexpected in GraphQL string at location 1:18" want_error_code: eval_builtin_error strict_error: true - data: @@ -257,7 +258,7 @@ cases: query: data.test.p = x want_result: - x: true -# schema definition: + # schema definition: - data: modules: - | @@ -275,7 +276,7 @@ cases: query: data.test.p = x want_result: - x: true -# schema extensions: + # schema extensions: - data: modules: - | @@ -316,10 +317,10 @@ cases: } note: graphql_parse_schema/failure-schema-extensions without anything errors query: data.test.p = x - want_error: 'graphql.parse_schema: Unexpected in GraphQL string at location 1:14' + want_error: "graphql.parse_schema: Unexpected in GraphQL string at location 1:14" want_error_code: eval_builtin_error strict_error: true -# inheritance: + # inheritance: - data: modules: - | @@ -359,7 +360,7 @@ cases: query: data.test.p = x want_result: - x: true -# enums: + # enums: - data: modules: - | @@ -396,10 +397,10 @@ cases: } note: graphql_parse_schema/failure-enums must define one or more unique enum values query: data.test.p = x - want_error: 'graphql.parse_schema: expected at least one definition, found } in GraphQL string at location 1:13' + want_error: "graphql.parse_schema: expected at least one definition, found } in GraphQL string at location 1:13" want_error_code: eval_builtin_error strict_error: true -# interface: + # interface: - data: modules: - | @@ -427,7 +428,7 @@ cases: } note: graphql_parse_schema/failure-interface must define one or more fields query: data.test.p = x - want_error: 'graphql.parse_schema: expected at least one definition, found } in GraphQL string at location 1:18' + want_error: "graphql.parse_schema: expected at least one definition, found } in GraphQL string at location 1:18" want_error_code: eval_builtin_error strict_error: true - data: @@ -453,7 +454,7 @@ cases: query: data.test.p = x want_result: - x: true -# unions: + # unions: - data: modules: - | @@ -503,7 +504,7 @@ cases: } note: graphql_parse_schema/failure-unions cant be empty query: data.test.p = x - want_error: 'graphql.parse_schema: Expected Name, found | in GraphQL string at location 1:16' + want_error: "graphql.parse_schema: Expected Name, found | in GraphQL string at location 1:16" want_error_code: eval_builtin_error strict_error: true - data: @@ -516,7 +517,7 @@ cases: } note: graphql_parse_schema/failure-unions cant double pipe query: data.test.p = x - want_error: 'graphql.parse_schema: Expected Name, found | in GraphQL string at location 1:19' + want_error: "graphql.parse_schema: Expected Name, found | in GraphQL string at location 1:19" want_error_code: eval_builtin_error strict_error: true - data: @@ -529,10 +530,10 @@ cases: } note: graphql_parse_schema/failure-unions cant have trailing pipe query: data.test.p = x - want_error: 'graphql.parse_schema: Expected Name, found in GraphQL string at location 1:27' + want_error: "graphql.parse_schema: Expected Name, found in GraphQL string at location 1:27" want_error_code: eval_builtin_error strict_error: true -# scalar: + # scalar: - data: modules: - | @@ -546,7 +547,7 @@ cases: query: data.test.p = x want_result: - x: true -# input object: + # input object: - data: modules: - | @@ -578,7 +579,7 @@ cases: } note: graphql_parse_schema/failure-input-object can not have args query: data.test.p = x - want_error: 'graphql.parse_schema: Expected :, found ( in GraphQL string at location 3:10' + want_error: "graphql.parse_schema: Expected :, found ( in GraphQL string at location 3:10" want_error_code: eval_builtin_error strict_error: true - data: @@ -591,10 +592,10 @@ cases: } note: graphql_parse_schema/failure-input-object must define one or more input fields query: data.test.p = x - want_error: 'graphql.parse_schema: expected at least one definition, found } in GraphQL string at location 1:14' + want_error: "graphql.parse_schema: expected at least one definition, found } in GraphQL string at location 1:14" want_error_code: eval_builtin_error strict_error: true -# directives: + # directives: - data: modules: - | @@ -656,7 +657,7 @@ cases: want_error: 'graphql.parse_schema: Unexpected Name "INCORRECT_LOCATION" in GraphQL string at location 1:27' want_error_code: eval_builtin_error strict_error: true -# fuzzer: + # fuzzer: - data: modules: - | @@ -667,7 +668,7 @@ cases: } note: graphql_parse_schema/failure-fuzzer 1 query: data.test.p = x - want_error: 'graphql.parse_schema: Expected Name, found in GraphQL string at location 1:13' + want_error: "graphql.parse_schema: Expected Name, found in GraphQL string at location 1:13" want_error_code: eval_builtin_error strict_error: true - data: @@ -680,6 +681,6 @@ cases: } note: graphql_parse_schema/failure-fuzzer 2 query: data.test.p = x - want_error: 'graphql.parse_schema: Unexpected in GraphQL string at location 2:1' + want_error: "graphql.parse_schema: Unexpected in GraphQL string at location 2:1" want_error_code: eval_builtin_error strict_error: true diff --git a/test/cases/testdata/graphql/test-graphql-parse.yaml b/test/cases/testdata/graphql/test-graphql-parse.yaml index 8d66782a5a..ff0c65ca4c 100644 --- a/test/cases/testdata/graphql/test-graphql-parse.yaml +++ b/test/cases/testdata/graphql/test-graphql-parse.yaml @@ -1,3 +1,4 @@ +--- # This suite of tests is adapted from the underlying GraphQL parser library's # own test suite, as it provides a fairly comprehensive set of good/degenerate # test cases, which we want to make sure to react correctly to. diff --git a/test/cases/testdata/graphql/test-graphql-schema-is-valid.yaml b/test/cases/testdata/graphql/test-graphql-schema-is-valid.yaml index 9cb5dfbf04..e7d12effa4 100644 --- a/test/cases/testdata/graphql/test-graphql-schema-is-valid.yaml +++ b/test/cases/testdata/graphql/test-graphql-schema-is-valid.yaml @@ -1,3 +1,4 @@ +--- # This suite of tests is adapted from the underlying GraphQL parser library's # own test suite, as it provides a fairly comprehensive set of good/degenerate # test cases, which we want to make sure to react correctly to. @@ -113,8 +114,8 @@ cases: query: data.test.p = x want_result: - x: true -# tests derived from gqlparser/parser/schema_test.yml -# object extensions: + # tests derived from gqlparser/parser/schema_test.yml + # object extensions: - data: modules: - | @@ -246,7 +247,7 @@ cases: query: data.test.p = x want_result: - x: false -# type extensions: + # type extensions: - data: modules: - | @@ -358,7 +359,7 @@ cases: query: data.test.p = x want_result: - x: false -# schema definition: + # schema definition: - data: modules: - | @@ -375,7 +376,7 @@ cases: query: data.test.p = x want_result: - x: false -#schema extensions: + # schema extensions: - data: modules: - | @@ -420,7 +421,7 @@ cases: query: data.test.p = x want_result: - x: false -# inheritance: + # inheritance: - data: modules: - | @@ -463,7 +464,7 @@ cases: query: data.test.p = x want_result: - x: false -# enums: + # enums: - data: modules: - | @@ -506,7 +507,7 @@ cases: query: data.test.p = x want_result: - x: false -# interface: + # interface: - data: modules: - | @@ -559,7 +560,7 @@ cases: query: data.test.p = x want_result: - x: false -# unions: + # unions: - data: modules: - | @@ -644,7 +645,7 @@ cases: query: data.test.p = x want_result: - x: false -# scalar: + # scalar: - data: modules: - | @@ -659,7 +660,7 @@ cases: query: data.test.p = x want_result: - x: true -# input objects: + # input objects: - data: modules: - | @@ -706,7 +707,7 @@ cases: query: data.test.p = x want_result: - x: false -# directives: + # directives: - data: modules: - | @@ -769,4 +770,4 @@ cases: note: graphql_schema_is_valid/failure-directives invalid location query: data.test.p = x want_result: - - x: false \ No newline at end of file + - x: false diff --git a/test/cases/testdata/helloworld/test-helloworld-1.yaml b/test/cases/testdata/helloworld/test-helloworld-1.yaml index d2f12e84c7..08857eb2f3 100644 --- a/test/cases/testdata/helloworld/test-helloworld-1.yaml +++ b/test/cases/testdata/helloworld/test-helloworld-1.yaml @@ -1,3 +1,4 @@ +--- # If you are adding new built-in functions to Rego, you must include test cases in this format. # # Each test file contains a set of test 'cases'. Each test case includes a globally unique @@ -25,25 +26,25 @@ # go test ./topdown -v -run 'TestRego/helloworld' # cases: -- data: - foo: bar - input: - baz: bar - modules: - - | - package test + - data: + foo: bar + input: + baz: bar + modules: + - | + package test - p = 7 { - data.foo == q - } + p = 7 { + data.foo == q + } - q = input.baz - note: helloworld/test_case - query: data.test.p = x - want_result: - - x: 7 -- note: helloworld/another_test_for_builtin_error - query: 1 / 0 - strict_error: true - want_error: 'div: divide by zero' - want_error_code: eval_builtin_error + q = input.baz + note: helloworld/test_case + query: data.test.p = x + want_result: + - x: 7 + - note: helloworld/another_test_for_builtin_error + query: 1 / 0 + strict_error: true + want_error: "div: divide by zero" + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/hexbuiltins/test-hexbuiltins-0939.yaml b/test/cases/testdata/hexbuiltins/test-hexbuiltins-0939.yaml index 33babe5d44..f9668615b9 100644 --- a/test/cases/testdata/hexbuiltins/test-hexbuiltins-0939.yaml +++ b/test/cases/testdata/hexbuiltins/test-hexbuiltins-0939.yaml @@ -1,12 +1,13 @@ +--- cases: -- note: hexbuiltins/hex_encode with string - modules: - - | - package generated - p = x { - hex.encode("lorem ipsum", x) - } - data: - query: data.generated.p = x - want_result: - - x: 6c6f72656d20697073756d + - note: hexbuiltins/hex_encode with string + modules: + - | + package generated + p = x { + hex.encode("lorem ipsum", x) + } + data: + query: data.generated.p = x + want_result: + - x: 6c6f72656d20697073756d diff --git a/test/cases/testdata/hexbuiltins/test-hexbuiltins-0940.yaml b/test/cases/testdata/hexbuiltins/test-hexbuiltins-0940.yaml index 30347ee031..21baa02b41 100644 --- a/test/cases/testdata/hexbuiltins/test-hexbuiltins-0940.yaml +++ b/test/cases/testdata/hexbuiltins/test-hexbuiltins-0940.yaml @@ -1,12 +1,13 @@ +--- cases: -- note: hexbuiltins/hex_decode with string - modules: - - | - package generated - p = x { - hex.decode("6c6f72656d20697073756d", x) - } - data: - query: data.generated.p = x - want_result: - - x: lorem ipsum + - note: hexbuiltins/hex_decode with string + modules: + - | + package generated + p = x { + hex.decode("6c6f72656d20697073756d", x) + } + data: + query: data.generated.p = x + want_result: + - x: lorem ipsum diff --git a/test/cases/testdata/hexbuiltins/test-hexbuiltins-0941.yaml b/test/cases/testdata/hexbuiltins/test-hexbuiltins-0941.yaml index 020802d6cc..961a550fcb 100644 --- a/test/cases/testdata/hexbuiltins/test-hexbuiltins-0941.yaml +++ b/test/cases/testdata/hexbuiltins/test-hexbuiltins-0941.yaml @@ -1,13 +1,14 @@ +--- cases: -- note: hexbuiltins/hex_decode with invalid hex encoded string - modules: - - | - package generated - p = x { - hex.decode("fghijkl", x) - } - data: - query: data.generated.p = x - want_error_code: eval_builtin_error - want_error: "invalid byte: U+0067 'g'" - strict_error: true + - note: hexbuiltins/hex_decode with invalid hex encoded string + modules: + - | + package generated + p = x { + hex.decode("fghijkl", x) + } + data: + query: data.generated.p = x + want_error_code: eval_builtin_error + want_error: "invalid byte: U+0067 'g'" + strict_error: true diff --git a/test/cases/testdata/indexing/array-any.yaml b/test/cases/testdata/indexing/array-any.yaml index 32f0f0560b..a50444469b 100644 --- a/test/cases/testdata/indexing/array-any.yaml +++ b/test/cases/testdata/indexing/array-any.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package indexing + - data: {} + input_term: "{}" + modules: + - | + package indexing - f(val) { - [_, _] = val - } + f(val) { + [_, _] = val + } - p { - f([1, ["foo", "bar"]]) - } - note: indexing on any and arrays - query: data.indexing.p = x - want_result: - - x: true + p { + f([1, ["foo", "bar"]]) + } + note: indexing on any and arrays + query: data.indexing.p = x + want_result: + - x: true diff --git a/test/cases/testdata/indirectreferences/test-indirectreferences-0758.yaml b/test/cases/testdata/indirectreferences/test-indirectreferences-0758.yaml index f6f9524629..5416454524 100644 --- a/test/cases/testdata/indirectreferences/test-indirectreferences-0758.yaml +++ b/test/cases/testdata/indirectreferences/test-indirectreferences-0758.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - __local0__ = [1, 2, 3] - __local0__[x] - } - note: indirectreferences/array - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 0 - - 1 - - 2 + p[x] { + __local0__ = [1, 2, 3] + __local0__[x] + } + note: indirectreferences/array + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 0 + - 1 + - 2 diff --git a/test/cases/testdata/indirectreferences/test-indirectreferences-0759.yaml b/test/cases/testdata/indirectreferences/test-indirectreferences-0759.yaml index 7c18594f70..bf87804737 100644 --- a/test/cases/testdata/indirectreferences/test-indirectreferences-0759.yaml +++ b/test/cases/testdata/indirectreferences/test-indirectreferences-0759.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - split("foo.bar", ".", __local0__) - __local0__[0] = "foo" - } - note: indirectreferences/call - query: data.generated.p = x - want_result: - - x: true + p { + split("foo.bar", ".", __local0__) + __local0__[0] = "foo" + } + note: indirectreferences/call + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/indirectreferences/test-indirectreferences-0760.yaml b/test/cases/testdata/indirectreferences/test-indirectreferences-0760.yaml index fae0d80fd6..3686aae73b 100644 --- a/test/cases/testdata/indirectreferences/test-indirectreferences-0760.yaml +++ b/test/cases/testdata/indirectreferences/test-indirectreferences-0760.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - split("foo.bar:qux", ".", __local0__) - __local2__ = __local0__[_] - split(__local2__, ":", __local1__) - __local1__[i] = x - } - note: indirectreferences/multiple call - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - bar - - foo - - qux + p[x] { + split("foo.bar:qux", ".", __local0__) + __local2__ = __local0__[_] + split(__local2__, ":", __local1__) + __local1__[i] = x + } + note: indirectreferences/multiple call + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - bar + - foo + - qux diff --git a/test/cases/testdata/indirectreferences/test-indirectreferences-0761.yaml b/test/cases/testdata/indirectreferences/test-indirectreferences-0761.yaml index 0fb199019e..8d0b5af4bf 100644 --- a/test/cases/testdata/indirectreferences/test-indirectreferences-0761.yaml +++ b/test/cases/testdata/indirectreferences/test-indirectreferences-0761.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - fn(__local0__) = [__local0__] + fn(__local0__) = [__local0__] - p[x] { - data.generated.fn(1, __local1__) - x = __local1__[0] - } - note: indirectreferences/user call - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + p[x] { + data.generated.fn(1, __local1__) + x = __local1__[0] + } + note: indirectreferences/user call + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/indirectreferences/test-indirectreferences-0762.yaml b/test/cases/testdata/indirectreferences/test-indirectreferences-0762.yaml index 3b4b9ff34d..e35ef76cee 100644 --- a/test/cases/testdata/indirectreferences/test-indirectreferences-0762.yaml +++ b/test/cases/testdata/indirectreferences/test-indirectreferences-0762.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - fn(__local0__) = [__local0__] + fn(__local0__) = [__local0__] - p[x] { - __local2__ = [y | data.generated.fn(1, __local1__); y = __local1__] - x = __local2__[_][_] - } - note: indirectreferences/user call in comprehension - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + p[x] { + __local2__ = [y | data.generated.fn(1, __local1__); y = __local1__] + x = __local2__[_][_] + } + note: indirectreferences/user call in comprehension + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/inputvalues/test-inputvalues-0977.yaml b/test/cases/testdata/inputvalues/test-inputvalues-0977.yaml index 4d08fc16c7..f035b98756 100644 --- a/test/cases/testdata/inputvalues/test-inputvalues-0977.yaml +++ b/test/cases/testdata/inputvalues/test-inputvalues-0977.yaml @@ -1,64 +1,65 @@ +--- cases: -- data: {} - input_term: '{"foo": 1}' - modules: - - | - package z + - data: {} + input_term: '{"foo": 1}' + modules: + - | + package z - p { - data.a[i] = x - input.req1.foo = x - input.req2.bar = x - data.z.q[x] - } + p { + data.a[i] = x + input.req1.foo = x + input.req2.bar = x + data.z.q[x] + } - q[x] { - input.req1.foo = x - input.req2.bar = x - data.z.r[x] - } + q[x] { + input.req1.foo = x + input.req2.bar = x + data.z.r[x] + } - r[x] { - __local1__ = input.req2.bar - __local2__ = input.req1.foo - {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} - } + r[x] { + __local1__ = input.req2.bar + __local2__ = input.req1.foo + {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} + } - s { - input.req3.a.b.x[0] = 1 - } + s { + input.req3.a.b.x[0] = 1 + } - t { - input.req4.a.b.x[0] = 1 - } + t { + input.req4.a.b.x[0] = 1 + } - u[x] { - input.req3.a.b[_] = x - x > 1 - } + u[x] { + input.req3.a.b[_] = x + x > 1 + } - w = [[1, 2], [3, 4]] + w = [[1, 2], [3, 4]] - gt1 { - __local3__ = input.req1 - __local3__ > 1 - } + gt1 { + __local3__ = input.req1 + __local3__ > 1 + } - keys[x] = y { - data.numbers[_] = x - to_number(x, y) - } + keys[x] = y { + data.numbers[_] = x + to_number(x, y) + } - loopback = __local0__ { - true - __local0__ = input - } + loopback = __local0__ { + true + __local0__ = input + } - sets { - input.foo[{1}][1] = 1 - } - note: inputvalues/loopback - query: data.z.loopback = x - want_result: - - x: - foo: 1 + sets { + input.foo[{1}][1] = 1 + } + note: inputvalues/loopback + query: data.z.loopback = x + want_result: + - x: + foo: 1 diff --git a/test/cases/testdata/inputvalues/test-inputvalues-0978.yaml b/test/cases/testdata/inputvalues/test-inputvalues-0978.yaml index 10d0163f50..478d181cfb 100644 --- a/test/cases/testdata/inputvalues/test-inputvalues-0978.yaml +++ b/test/cases/testdata/inputvalues/test-inputvalues-0978.yaml @@ -1,67 +1,68 @@ +--- cases: -- data: {} - modules: - - | - package z + - data: {} + modules: + - | + package z - p { - data.a[i] = x - input.req1.foo = x - input.req2.bar = x - data.z.q[x] - } + p { + data.a[i] = x + input.req1.foo = x + input.req2.bar = x + data.z.q[x] + } - q[x] { - input.req1.foo = x - input.req2.bar = x - data.z.r[x] - } + q[x] { + input.req1.foo = x + input.req2.bar = x + data.z.r[x] + } - r[x] { - __local1__ = input.req2.bar - __local2__ = input.req1.foo - {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} - } + r[x] { + __local1__ = input.req2.bar + __local2__ = input.req1.foo + {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} + } - s { - input.req3.a.b.x[0] = 1 - } + s { + input.req3.a.b.x[0] = 1 + } - t { - input.req4.a.b.x[0] = 1 - } + t { + input.req4.a.b.x[0] = 1 + } - u[x] { - input.req3.a.b[_] = x - x > 1 - } + u[x] { + input.req3.a.b[_] = x + x > 1 + } - w = [[1, 2], [3, 4]] + w = [[1, 2], [3, 4]] - gt1 { - __local3__ = input.req1 - __local3__ > 1 - } + gt1 { + __local3__ = input.req1 + __local3__ > 1 + } - keys[x] = y { - data.numbers[_] = x - to_number(x, y) - } + keys[x] = y { + data.numbers[_] = x + to_number(x, y) + } - loopback = __local0__ { - true - __local0__ = input - } + loopback = __local0__ { + true + __local0__ = input + } - sets { - input.foo[{1}][1] = 1 - } - - | - package topdown_test_partial + sets { + input.foo[{1}][1] = 1 + } + - | + package topdown_test_partial - __result__ = _result { - _result = input - } - note: inputvalues/loopback undefined - query: data.z.loopback = x - want_result: [] + __result__ = _result { + _result = input + } + note: inputvalues/loopback undefined + query: data.z.loopback = x + want_result: [] diff --git a/test/cases/testdata/inputvalues/test-inputvalues-0979.yaml b/test/cases/testdata/inputvalues/test-inputvalues-0979.yaml index 653d1da09f..31e3069a3e 100644 --- a/test/cases/testdata/inputvalues/test-inputvalues-0979.yaml +++ b/test/cases/testdata/inputvalues/test-inputvalues-0979.yaml @@ -1,74 +1,75 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - input_term: '{"req1": {"foo": 4}, "req2": {"bar": 4}}' - modules: - - | - package z + - data: + a: + - 1 + - 2 + - 3 + - 4 + input_term: '{"req1": {"foo": 4}, "req2": {"bar": 4}}' + modules: + - | + package z - p { - data.a[i] = x - input.req1.foo = x - input.req2.bar = x - data.z.q[x] - } + p { + data.a[i] = x + input.req1.foo = x + input.req2.bar = x + data.z.q[x] + } - q[x] { - input.req1.foo = x - input.req2.bar = x - data.z.r[x] - } + q[x] { + input.req1.foo = x + input.req2.bar = x + data.z.r[x] + } - r[x] { - __local1__ = input.req2.bar - __local2__ = input.req1.foo - {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} - } + r[x] { + __local1__ = input.req2.bar + __local2__ = input.req1.foo + {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} + } - s { - input.req3.a.b.x[0] = 1 - } + s { + input.req3.a.b.x[0] = 1 + } - t { - input.req4.a.b.x[0] = 1 - } + t { + input.req4.a.b.x[0] = 1 + } - u[x] { - input.req3.a.b[_] = x - x > 1 - } + u[x] { + input.req3.a.b[_] = x + x > 1 + } - w = [[1, 2], [3, 4]] + w = [[1, 2], [3, 4]] - gt1 { - __local3__ = input.req1 - __local3__ > 1 - } + gt1 { + __local3__ = input.req1 + __local3__ > 1 + } - keys[x] = y { - data.numbers[_] = x - to_number(x, y) - } + keys[x] = y { + data.numbers[_] = x + to_number(x, y) + } - loopback = __local0__ { - true - __local0__ = input - } + loopback = __local0__ { + true + __local0__ = input + } - sets { - input.foo[{1}][1] = 1 - } - - | - package topdown_test_partial + sets { + input.foo[{1}][1] = 1 + } + - | + package topdown_test_partial - __result__ = _result { - _result = input - } - note: inputvalues/simple - query: data.z.p = x - want_result: - - x: true + __result__ = _result { + _result = input + } + note: inputvalues/simple + query: data.z.p = x + want_result: + - x: true diff --git a/test/cases/testdata/inputvalues/test-inputvalues-0980.yaml b/test/cases/testdata/inputvalues/test-inputvalues-0980.yaml index 0730e3d08a..fd35216ec7 100644 --- a/test/cases/testdata/inputvalues/test-inputvalues-0980.yaml +++ b/test/cases/testdata/inputvalues/test-inputvalues-0980.yaml @@ -1,109 +1,110 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - input_term: '{"req1": {"foo": 4}}' - modules: - - | - package z + - data: + a: + - 1 + - 2 + - 3 + - 4 + input_term: '{"req1": {"foo": 4}}' + modules: + - | + package z - p { - data.a[i] = x - input.req1.foo = x - input.req2.bar = x - data.z.q[x] - } + p { + data.a[i] = x + input.req1.foo = x + input.req2.bar = x + data.z.q[x] + } - q[x] { - input.req1.foo = x - input.req2.bar = x - data.z.r[x] - } + q[x] { + input.req1.foo = x + input.req2.bar = x + data.z.r[x] + } - r[x] { - __local1__ = input.req2.bar - __local2__ = input.req1.foo - {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} - } + r[x] { + __local1__ = input.req2.bar + __local2__ = input.req1.foo + {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} + } - s { - input.req3.a.b.x[0] = 1 - } + s { + input.req3.a.b.x[0] = 1 + } - t { - input.req4.a.b.x[0] = 1 - } + t { + input.req4.a.b.x[0] = 1 + } - u[x] { - input.req3.a.b[_] = x - x > 1 - } + u[x] { + input.req3.a.b[_] = x + x > 1 + } - w = [[1, 2], [3, 4]] + w = [[1, 2], [3, 4]] - gt1 { - __local3__ = input.req1 - __local3__ > 1 - } + gt1 { + __local3__ = input.req1 + __local3__ > 1 + } - keys[x] = y { - data.numbers[_] = x - to_number(x, y) - } + keys[x] = y { + data.numbers[_] = x + to_number(x, y) + } - loopback = __local0__ { - true - __local0__ = input - } + loopback = __local0__ { + true + __local0__ = input + } - sets { - input.foo[{1}][1] = 1 - } - - | - package topdown_test_partial + sets { + input.foo[{1}][1] = 1 + } + - | + package topdown_test_partial - __result__ = _result { - input.req1.foo = 1 - input.req2.bar = 1 - input.req1.foo = 1 - input.req2.bar = 1 - 1 = input.req2.bar - 1 = input.req1.foo - _result = true - } + __result__ = _result { + input.req1.foo = 1 + input.req2.bar = 1 + input.req1.foo = 1 + input.req2.bar = 1 + 1 = input.req2.bar + 1 = input.req1.foo + _result = true + } - __result__ = _result { - input.req1.foo = 2 - input.req2.bar = 2 - input.req1.foo = 2 - input.req2.bar = 2 - 2 = input.req2.bar - 2 = input.req1.foo - _result = true - } + __result__ = _result { + input.req1.foo = 2 + input.req2.bar = 2 + input.req1.foo = 2 + input.req2.bar = 2 + 2 = input.req2.bar + 2 = input.req1.foo + _result = true + } - __result__ = _result { - input.req1.foo = 3 - input.req2.bar = 3 - input.req1.foo = 3 - input.req2.bar = 3 - 3 = input.req2.bar - 3 = input.req1.foo - _result = true - } + __result__ = _result { + input.req1.foo = 3 + input.req2.bar = 3 + input.req1.foo = 3 + input.req2.bar = 3 + 3 = input.req2.bar + 3 = input.req1.foo + _result = true + } - __result__ = _result { - input.req1.foo = 4 - input.req2.bar = 4 - input.req1.foo = 4 - input.req2.bar = 4 - 4 = input.req2.bar - 4 = input.req1.foo - _result = true - } - note: inputvalues/missing - query: data.z.p = x - want_result: [] + __result__ = _result { + input.req1.foo = 4 + input.req2.bar = 4 + input.req1.foo = 4 + input.req2.bar = 4 + 4 = input.req2.bar + 4 = input.req1.foo + _result = true + } + note: inputvalues/missing + query: data.z.p = x + want_result: [] diff --git a/test/cases/testdata/inputvalues/test-inputvalues-0981.yaml b/test/cases/testdata/inputvalues/test-inputvalues-0981.yaml index 08e844f718..50e7f83d59 100644 --- a/test/cases/testdata/inputvalues/test-inputvalues-0981.yaml +++ b/test/cases/testdata/inputvalues/test-inputvalues-0981.yaml @@ -1,105 +1,106 @@ +--- cases: -- data: {} - input_term: '{"req3": {"a": {"b": {"x": [1, 2, 3, 4]}}}}' - modules: - - | - package z + - data: {} + input_term: '{"req3": {"a": {"b": {"x": [1, 2, 3, 4]}}}}' + modules: + - | + package z - p { - data.a[i] = x - input.req1.foo = x - input.req2.bar = x - data.z.q[x] - } + p { + data.a[i] = x + input.req1.foo = x + input.req2.bar = x + data.z.q[x] + } - q[x] { - input.req1.foo = x - input.req2.bar = x - data.z.r[x] - } + q[x] { + input.req1.foo = x + input.req2.bar = x + data.z.r[x] + } - r[x] { - __local1__ = input.req2.bar - __local2__ = input.req1.foo - {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} - } + r[x] { + __local1__ = input.req2.bar + __local2__ = input.req1.foo + {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} + } - s { - input.req3.a.b.x[0] = 1 - } + s { + input.req3.a.b.x[0] = 1 + } - t { - input.req4.a.b.x[0] = 1 - } + t { + input.req4.a.b.x[0] = 1 + } - u[x] { - input.req3.a.b[_] = x - x > 1 - } + u[x] { + input.req3.a.b[_] = x + x > 1 + } - w = [[1, 2], [3, 4]] + w = [[1, 2], [3, 4]] - gt1 { - __local3__ = input.req1 - __local3__ > 1 - } + gt1 { + __local3__ = input.req1 + __local3__ > 1 + } - keys[x] = y { - data.numbers[_] = x - to_number(x, y) - } + keys[x] = y { + data.numbers[_] = x + to_number(x, y) + } - loopback = __local0__ { - true - __local0__ = input - } + loopback = __local0__ { + true + __local0__ = input + } - sets { - input.foo[{1}][1] = 1 - } - - | - package topdown_test_partial + sets { + input.foo[{1}][1] = 1 + } + - | + package topdown_test_partial - __result__ = _result { - input.req1.foo = 1 - input.req2.bar = 1 - input.req1.foo = 1 - input.req2.bar = 1 - 1 = input.req2.bar - 1 = input.req1.foo - _result = true - } + __result__ = _result { + input.req1.foo = 1 + input.req2.bar = 1 + input.req1.foo = 1 + input.req2.bar = 1 + 1 = input.req2.bar + 1 = input.req1.foo + _result = true + } - __result__ = _result { - input.req1.foo = 2 - input.req2.bar = 2 - input.req1.foo = 2 - input.req2.bar = 2 - 2 = input.req2.bar - 2 = input.req1.foo - _result = true - } + __result__ = _result { + input.req1.foo = 2 + input.req2.bar = 2 + input.req1.foo = 2 + input.req2.bar = 2 + 2 = input.req2.bar + 2 = input.req1.foo + _result = true + } - __result__ = _result { - input.req1.foo = 3 - input.req2.bar = 3 - input.req1.foo = 3 - input.req2.bar = 3 - 3 = input.req2.bar - 3 = input.req1.foo - _result = true - } + __result__ = _result { + input.req1.foo = 3 + input.req2.bar = 3 + input.req1.foo = 3 + input.req2.bar = 3 + 3 = input.req2.bar + 3 = input.req1.foo + _result = true + } - __result__ = _result { - input.req1.foo = 4 - input.req2.bar = 4 - input.req1.foo = 4 - input.req2.bar = 4 - 4 = input.req2.bar - 4 = input.req1.foo - _result = true - } - note: inputvalues/namespaced - query: data.z.s = x - want_result: - - x: true + __result__ = _result { + input.req1.foo = 4 + input.req2.bar = 4 + input.req1.foo = 4 + input.req2.bar = 4 + 4 = input.req2.bar + 4 = input.req1.foo + _result = true + } + note: inputvalues/namespaced + query: data.z.s = x + want_result: + - x: true diff --git a/test/cases/testdata/inputvalues/test-inputvalues-0982.yaml b/test/cases/testdata/inputvalues/test-inputvalues-0982.yaml index b1a63b3afc..d37369cf36 100644 --- a/test/cases/testdata/inputvalues/test-inputvalues-0982.yaml +++ b/test/cases/testdata/inputvalues/test-inputvalues-0982.yaml @@ -1,70 +1,71 @@ +--- cases: -- data: {} - input_term: '{"req4": {"a": {"b": {"x": [1, 2, 3, 4]}}}}' - modules: - - | - package z + - data: {} + input_term: '{"req4": {"a": {"b": {"x": [1, 2, 3, 4]}}}}' + modules: + - | + package z - p { - data.a[i] = x - input.req1.foo = x - input.req2.bar = x - data.z.q[x] - } + p { + data.a[i] = x + input.req1.foo = x + input.req2.bar = x + data.z.q[x] + } - q[x] { - input.req1.foo = x - input.req2.bar = x - data.z.r[x] - } + q[x] { + input.req1.foo = x + input.req2.bar = x + data.z.r[x] + } - r[x] { - __local1__ = input.req2.bar - __local2__ = input.req1.foo - {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} - } + r[x] { + __local1__ = input.req2.bar + __local2__ = input.req1.foo + {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} + } - s { - input.req3.a.b.x[0] = 1 - } + s { + input.req3.a.b.x[0] = 1 + } - t { - input.req4.a.b.x[0] = 1 - } + t { + input.req4.a.b.x[0] = 1 + } - u[x] { - input.req3.a.b[_] = x - x > 1 - } + u[x] { + input.req3.a.b[_] = x + x > 1 + } - w = [[1, 2], [3, 4]] + w = [[1, 2], [3, 4]] - gt1 { - __local3__ = input.req1 - __local3__ > 1 - } + gt1 { + __local3__ = input.req1 + __local3__ > 1 + } - keys[x] = y { - data.numbers[_] = x - to_number(x, y) - } + keys[x] = y { + data.numbers[_] = x + to_number(x, y) + } - loopback = __local0__ { - true - __local0__ = input - } + loopback = __local0__ { + true + __local0__ = input + } - sets { - input.foo[{1}][1] = 1 - } - - | - package topdown_test_partial + sets { + input.foo[{1}][1] = 1 + } + - | + package topdown_test_partial - __result__ = _result { - input.req3.a.b.x[0] = 1 - _result = true - } - note: inputvalues/namespaced with alias - query: data.z.t = x - want_result: - - x: true + __result__ = _result { + input.req3.a.b.x[0] = 1 + _result = true + } + note: inputvalues/namespaced with alias + query: data.z.t = x + want_result: + - x: true diff --git a/test/cases/testdata/inputvalues/test-inputvalues-0983.yaml b/test/cases/testdata/inputvalues/test-inputvalues-0983.yaml index db206a74e5..d8a998d498 100644 --- a/test/cases/testdata/inputvalues/test-inputvalues-0983.yaml +++ b/test/cases/testdata/inputvalues/test-inputvalues-0983.yaml @@ -1,70 +1,71 @@ +--- cases: -- data: {} - input_term: '{"foo": {{1}}}' - modules: - - | - package z + - data: {} + input_term: '{"foo": {{1}}}' + modules: + - | + package z - p { - data.a[i] = x - input.req1.foo = x - input.req2.bar = x - data.z.q[x] - } + p { + data.a[i] = x + input.req1.foo = x + input.req2.bar = x + data.z.q[x] + } - q[x] { - input.req1.foo = x - input.req2.bar = x - data.z.r[x] - } + q[x] { + input.req1.foo = x + input.req2.bar = x + data.z.r[x] + } - r[x] { - __local1__ = input.req2.bar - __local2__ = input.req1.foo - {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} - } + r[x] { + __local1__ = input.req2.bar + __local2__ = input.req1.foo + {"bar": [x], "foo": __local1__} = {"bar": [__local2__], "foo": x} + } - s { - input.req3.a.b.x[0] = 1 - } + s { + input.req3.a.b.x[0] = 1 + } - t { - input.req4.a.b.x[0] = 1 - } + t { + input.req4.a.b.x[0] = 1 + } - u[x] { - input.req3.a.b[_] = x - x > 1 - } + u[x] { + input.req3.a.b[_] = x + x > 1 + } - w = [[1, 2], [3, 4]] + w = [[1, 2], [3, 4]] - gt1 { - __local3__ = input.req1 - __local3__ > 1 - } + gt1 { + __local3__ = input.req1 + __local3__ > 1 + } - keys[x] = y { - data.numbers[_] = x - to_number(x, y) - } + keys[x] = y { + data.numbers[_] = x + to_number(x, y) + } - loopback = __local0__ { - true - __local0__ = input - } + loopback = __local0__ { + true + __local0__ = input + } - sets { - input.foo[{1}][1] = 1 - } - - | - package topdown_test_partial + sets { + input.foo[{1}][1] = 1 + } + - | + package topdown_test_partial - __result__ = _result { - input.req4.a.b.x[0] = 1 - _result = true - } - note: inputvalues/input set - query: data.z.sets = x - want_result: - - x: true + __result__ = _result { + input.req4.a.b.x[0] = 1 + _result = true + } + note: inputvalues/input set + query: data.z.sets = x + want_result: + - x: true diff --git a/test/cases/testdata/intersection/test-intersection-0352.yaml b/test/cases/testdata/intersection/test-intersection-0352.yaml index a00e17ef97..af81cf49c6 100644 --- a/test/cases/testdata/intersection/test-intersection-0352.yaml +++ b/test/cases/testdata/intersection/test-intersection-0352.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - intersection(set(), x) - } - note: intersection/intersection_0_sets - query: data.generated.p = x - want_result: - - x: [] + p = x { + intersection(set(), x) + } + note: intersection/intersection_0_sets + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/intersection/test-intersection-0353.yaml b/test/cases/testdata/intersection/test-intersection-0353.yaml index 8353d91eb1..8ff4695bd9 100644 --- a/test/cases/testdata/intersection/test-intersection-0353.yaml +++ b/test/cases/testdata/intersection/test-intersection-0353.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - intersection({set(), {1, 2}}, x) - } - note: intersection/intersection_2_sets - query: data.generated.p = x - want_result: - - x: [] + p = x { + intersection({set(), {1, 2}}, x) + } + note: intersection/intersection_2_sets + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/intersection/test-intersection-0354.yaml b/test/cases/testdata/intersection/test-intersection-0354.yaml index c548358900..4b71cc1abf 100644 --- a/test/cases/testdata/intersection/test-intersection-0354.yaml +++ b/test/cases/testdata/intersection/test-intersection-0354.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - s1 = {1, 2, 3} - s2 = {2} - intersection({s1, s2}, x) - } - note: intersection/intersection_2_sets - query: data.generated.p = x - want_result: - - x: - - 2 + p = x { + s1 = {1, 2, 3} + s2 = {2} + intersection({s1, s2}, x) + } + note: intersection/intersection_2_sets + query: data.generated.p = x + want_result: + - x: + - 2 diff --git a/test/cases/testdata/intersection/test-intersection-0355.yaml b/test/cases/testdata/intersection/test-intersection-0355.yaml index 56ca018c37..16f7057bf4 100644 --- a/test/cases/testdata/intersection/test-intersection-0355.yaml +++ b/test/cases/testdata/intersection/test-intersection-0355.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - s1 = {1, 2, 3} - s2 = {2, 3, 4} - s3 = {4, 5, 6} - intersection({s1, s2, s3}, x) - } - note: intersection/intersection_3_sets - query: data.generated.p = x - want_result: - - x: [] + p = x { + s1 = {1, 2, 3} + s2 = {2, 3, 4} + s3 = {4, 5, 6} + intersection({s1, s2, s3}, x) + } + note: intersection/intersection_3_sets + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/intersection/test-intersection-0356.yaml b/test/cases/testdata/intersection/test-intersection-0356.yaml index e4ce495aa6..23abbcba90 100644 --- a/test/cases/testdata/intersection/test-intersection-0356.yaml +++ b/test/cases/testdata/intersection/test-intersection-0356.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - s1 = {"a", "b", "c", "d"} - s2 = {"b", "c", "d"} - s3 = {"c", "d"} - s4 = {"d"} - intersection({s1, s2, s3, s4}, x) - } - note: intersection/intersection_4_sets - query: data.generated.p = x - want_result: - - x: - - d + p = x { + s1 = {"a", "b", "c", "d"} + s2 = {"b", "c", "d"} + s3 = {"c", "d"} + s4 = {"d"} + intersection({s1, s2, s3, s4}, x) + } + note: intersection/intersection_4_sets + query: data.generated.p = x + want_result: + - x: + - d diff --git a/test/cases/testdata/invalidkeyerror/test-invalidkeyerror-0176.yaml b/test/cases/testdata/invalidkeyerror/test-invalidkeyerror-0176.yaml index 9b37c822ec..ce95a5233a 100644 --- a/test/cases/testdata/invalidkeyerror/test-invalidkeyerror-0176.yaml +++ b/test/cases/testdata/invalidkeyerror/test-invalidkeyerror-0176.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - http.send({"bad_key": "bad_value", "method": "get", "url": "http://127.0.0.1:51113"}, x) - } - note: invalidkeyerror/invalid keys - query: data.generated.p = x - want_error: 'invalid request parameters(s): {"bad_key"}' - want_error_code: eval_type_error - strict_error: true + p = x { + http.send({"bad_key": "bad_value", "method": "get", "url": "http://127.0.0.1:51113"}, x) + } + note: invalidkeyerror/invalid keys + query: data.generated.p = x + want_error: 'invalid request parameters(s): {"bad_key"}' + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/invalidkeyerror/test-invalidkeyerror-0177.yaml b/test/cases/testdata/invalidkeyerror/test-invalidkeyerror-0177.yaml index 298fda98aa..7c1b79983b 100644 --- a/test/cases/testdata/invalidkeyerror/test-invalidkeyerror-0177.yaml +++ b/test/cases/testdata/invalidkeyerror/test-invalidkeyerror-0177.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - http.send({"method": "get"}, x) - } - note: invalidkeyerror/missing keys - query: data.generated.p = x - want_error: 'missing required request parameters(s): {"url"}' - want_error_code: eval_type_error - strict_error: true + p = x { + http.send({"method": "get"}, x) + } + note: invalidkeyerror/missing keys + query: data.generated.p = x + want_error: 'missing required request parameters(s): {"url"}' + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonbuiltins/test-is-valid.yaml b/test/cases/testdata/jsonbuiltins/test-is-valid.yaml index 35c0748cad..a0380799df 100644 --- a/test/cases/testdata/jsonbuiltins/test-is-valid.yaml +++ b/test/cases/testdata/jsonbuiltins/test-is-valid.yaml @@ -1,72 +1,73 @@ +--- cases: -- note: jsonbuiltins/json is_valid - query: data.generated.p = x - modules: - - | - package generated + - note: jsonbuiltins/json is_valid + query: data.generated.p = x + modules: + - | + package generated - documents = [ - `plainstring`, - `{`, - `{"json": "ok"}`, - ] + documents = [ + `plainstring`, + `{`, + `{"json": "ok"}`, + ] - p = [x | doc = documents[_]; json.is_valid(doc, x)] - strict_error: true - want_result: - - x: - - false - - false - - true + p = [x | doc = documents[_]; json.is_valid(doc, x)] + strict_error: true + want_result: + - x: + - false + - false + - true -- note: jsonbuiltins/json is_valid not string - modules: - - | - package generated + - note: jsonbuiltins/json is_valid not string + modules: + - | + package generated - p = x { - json.is_valid(input.foo, x) - } - query: data.generated.p = x - input: {"foo": 1} - strict_error: true - want_result: - - x: false + p = x { + json.is_valid(input.foo, x) + } + query: data.generated.p = x + input: { "foo": 1 } + strict_error: true + want_result: + - x: false -- note: jsonbuiltins/yaml is_valid - query: data.generated.p = x - modules: - - | - package generated + - note: jsonbuiltins/yaml is_valid + query: data.generated.p = x + modules: + - | + package generated - documents = [ - `foo: - - qux: bar - - baz: 2`, - `foo: - - qux: bar - - baz: {`, - `{"json": "ok"}`, - ] + documents = [ + `foo: + - qux: bar + - baz: 2`, + `foo: + - qux: bar + - baz: {`, + `{"json": "ok"}`, + ] - p = [x | doc = documents[_]; yaml.is_valid(doc, x)] - strict_error: true - want_result: - - x: - - true - - false - - true + p = [x | doc = documents[_]; yaml.is_valid(doc, x)] + strict_error: true + want_result: + - x: + - true + - false + - true -- note: jsonbuiltins/yaml is_valid not string - modules: - - | - package generated + - note: jsonbuiltins/yaml is_valid not string + modules: + - | + package generated - p = x { - yaml.is_valid(input.foo, x) - } - query: data.generated.p = x - input: {"foo": 1} - strict_error: true - want_result: - - x: false + p = x { + yaml.is_valid(input.foo, x) + } + query: data.generated.p = x + input: { "foo": 1 } + strict_error: true + want_result: + - x: false diff --git a/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0924.yaml b/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0924.yaml index bcec696fbc..36cc4376e1 100644 --- a/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0924.yaml +++ b/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0924.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - json.marshal([{"foo": {1, 2, 3}}], x) - } - note: jsonbuiltins/marshal - query: data.generated.p = x - want_result: - - x: '[{"foo":[1,2,3]}]' + p = x { + json.marshal([{"foo": {1, 2, 3}}], x) + } + note: jsonbuiltins/marshal + query: data.generated.p = x + want_result: + - x: '[{"foo":[1,2,3]}]' diff --git a/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0925.yaml b/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0925.yaml index 2c4937cb06..682632cb2e 100644 --- a/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0925.yaml +++ b/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0925.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - json.unmarshal("[{\"foo\":[1,2,3]}]", x) - } - note: jsonbuiltins/unmarshal - query: data.generated.p = x - want_result: - - x: - - foo: - - 1 - - 2 - - 3 + p = x { + json.unmarshal("[{\"foo\":[1,2,3]}]", x) + } + note: jsonbuiltins/unmarshal + query: data.generated.p = x + want_result: + - x: + - foo: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0926.yaml b/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0926.yaml index 6d35592418..1387c672c2 100644 --- a/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0926.yaml +++ b/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0926.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = x { - __local0__ = data.a[0] - json.unmarshal(__local0__, x) - } - note: jsonbuiltins/unmarshal-non-string - query: data.generated.p = x - strict_error: true - want_error: operand 1 must be string but got number - want_error_code: eval_type_error + p = x { + __local0__ = data.a[0] + json.unmarshal(__local0__, x) + } + note: jsonbuiltins/unmarshal-non-string + query: data.generated.p = x + strict_error: true + want_error: operand 1 must be string but got number + want_error_code: eval_type_error diff --git a/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0927.yaml b/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0927.yaml index f01e3f4d65..cb8f9e779e 100644 --- a/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0927.yaml +++ b/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0927.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = y { - yaml.marshal([{"foo": {1, 2, 3}}], x) - yaml.unmarshal(x, y) - } - note: jsonbuiltins/yaml round-trip - query: data.generated.p = x - want_result: - - x: - - foo: - - 1 - - 2 - - 3 + p = y { + yaml.marshal([{"foo": {1, 2, 3}}], x) + yaml.unmarshal(x, y) + } + note: jsonbuiltins/yaml round-trip + query: data.generated.p = x + want_result: + - x: + - foo: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0928.yaml b/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0928.yaml index f364f16a79..479f27afa5 100644 --- a/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0928.yaml +++ b/test/cases/testdata/jsonbuiltins/test-jsonbuiltins-0928.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p { - yaml.unmarshal("[1,2,3", _) - } - note: jsonbuiltins/yaml unmarshal error - query: data.generated.p = x - want_error: 'yaml: line 1: did not find' - want_error_code: eval_builtin_error - strict_error: true + p { + yaml.unmarshal("[1,2,3", _) + } + note: jsonbuiltins/yaml unmarshal error + query: data.generated.p = x + want_error: "yaml: line 1: did not find" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/jsonbuiltins/test-marshal-large-ints.yaml b/test/cases/testdata/jsonbuiltins/test-marshal-large-ints.yaml index 76cabc2cfa..089b9c56eb 100644 --- a/test/cases/testdata/jsonbuiltins/test-marshal-large-ints.yaml +++ b/test/cases/testdata/jsonbuiltins/test-marshal-large-ints.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package test + - data: {} + modules: + - | + package test - p = x { - json.marshal([1234500000 + 67890, 1e6 * 2, 1e109 / 1e100], x) - } - note: jsonbuiltins/marshal large integers - query: data.test.p = x - want_result: - - x: '[1234567890,2000000,1000000000]' + p = x { + json.marshal([1234500000 + 67890, 1e6 * 2, 1e109 / 1e100], x) + } + note: jsonbuiltins/marshal large integers + query: data.test.p = x + want_result: + - x: "[1234567890,2000000,1000000000]" diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0218.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0218.yaml index a3455cb156..0342b79f0e 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0218.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0218.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a/b/c"}, __local1__) - __local0__ = __local1__ - } - note: jsonfilter/base - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 7 + p = __local0__ { + json.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a/b/c"}, __local1__) + __local0__ = __local1__ + } + note: jsonfilter/base + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 7 diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0219.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0219.yaml index 0435699dc4..3e3fde2e4f 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0219.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0219.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a/b/c", "e"}, __local1__) - __local0__ = __local1__ - } - note: jsonfilter/multiple roots - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 7 - e: 9 + p = __local0__ { + json.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a/b/c", "e"}, __local1__) + __local0__ = __local1__ + } + note: jsonfilter/multiple roots + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 7 + e: 9 diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0220.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0220.yaml index ead63d5f99..47d39a141b 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0220.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0220.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, ["a/b/c", "e"], __local1__) - __local0__ = __local1__ - } - note: jsonfilter/multiple roots array - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 7 - e: 9 + p = __local0__ { + json.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, ["a/b/c", "e"], __local1__) + __local0__ = __local1__ + } + note: jsonfilter/multiple roots array + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 7 + e: 9 diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0221.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0221.yaml index 2e679c2f61..8aaaec7998 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0221.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0221.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({"a": {"b": {"c": 7, "d": 8}, "e": 9}}, {"a/b/c", "a/e"}, __local1__) - __local0__ = __local1__ - } - note: jsonfilter/shared roots - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 7 - e: 9 + p = __local0__ { + json.filter({"a": {"b": {"c": 7, "d": 8}, "e": 9}}, {"a/b/c", "a/e"}, __local1__) + __local0__ = __local1__ + } + note: jsonfilter/shared roots + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 7 + e: 9 diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0222.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0222.yaml index db15a2339a..2e29733c7b 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0222.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0222.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({"a": {"b": 7}}, {"a", "a/b"}, __local1__) - __local0__ = __local1__ - } - note: jsonfilter/conflict - query: data.generated.p = x - want_result: - - x: - a: - b: 7 + p = __local0__ { + json.filter({"a": {"b": 7}}, {"a", "a/b"}, __local1__) + __local0__ = __local1__ + } + note: jsonfilter/conflict + query: data.generated.p = x + want_result: + - x: + a: + b: 7 diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0223.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0223.yaml index 0f3abf1f8d..a4b413d52d 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0223.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0223.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({"a": 7}, set(), __local1__) - __local0__ = __local1__ - } - note: jsonfilter/empty list - query: data.generated.p = x - want_result: - - x: {} + p = __local0__ { + json.filter({"a": 7}, set(), __local1__) + __local0__ = __local1__ + } + note: jsonfilter/empty list + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0224.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0224.yaml index 8f1c20aa58..4822ad4c06 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0224.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0224.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({}, {"a/b"}, __local1__) - __local0__ = __local1__ - } - note: jsonfilter/empty object - query: data.generated.p = x - want_result: - - x: {} + p = __local0__ { + json.filter({}, {"a/b"}, __local1__) + __local0__ = __local1__ + } + note: jsonfilter/empty object + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0225.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0225.yaml index 93c1bae129..120008ac79 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0225.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0225.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({"a": [{"b": 7, "c": 8}, {"d": 9}]}, {"a/0/b", "a/1"}, __local1__) - __local0__ = __local1__ - } - note: jsonfilter/arrays - query: data.generated.p = x - want_result: - - x: - a: - - b: 7 - - d: 9 + p = __local0__ { + json.filter({"a": [{"b": 7, "c": 8}, {"d": 9}]}, {"a/0/b", "a/1"}, __local1__) + __local0__ = __local1__ + } + note: jsonfilter/arrays + query: data.generated.p = x + want_result: + - x: + a: + - b: 7 + - d: 9 diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0226.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0226.yaml index 9d57c1f667..d546a4af53 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0226.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0226.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({"a": [{"1": ["b", "c", "d"]}, {"x": "y"}]}, {"a/0/1/2"}, __local1__) - __local0__ = __local1__ - } - note: jsonfilter/object with number keys - query: data.generated.p = x - want_result: - - x: - a: - - "1": - - d + p = __local0__ { + json.filter({"a": [{"1": ["b", "c", "d"]}, {"x": "y"}]}, {"a/0/1/2"}, __local1__) + __local0__ = __local1__ + } + note: jsonfilter/object with number keys + query: data.generated.p = x + want_result: + - x: + a: + - "1": + - d diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0227.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0227.yaml index be6271f7f7..d05efd3c7f 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0227.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0227.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {["a", "b", "c"], ["e"]}, __local1__) - __local0__ = __local1__ - } - note: jsonfilter/arrays of roots - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 7 - e: 9 + p = __local0__ { + json.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {["a", "b", "c"], ["e"]}, __local1__) + __local0__ = __local1__ + } + note: jsonfilter/arrays of roots + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 7 + e: 9 diff --git a/test/cases/testdata/jsonfilter/test-jsonfilter-0228.yaml b/test/cases/testdata/jsonfilter/test-jsonfilter-0228.yaml index e04ac5c16b..9ea433a925 100644 --- a/test/cases/testdata/jsonfilter/test-jsonfilter-0228.yaml +++ b/test/cases/testdata/jsonfilter/test-jsonfilter-0228.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.filter({"a": {"b": {"c": 7, "d": 8, "x": 0}}, "e": 9}, {"a/b/d", ["a", "b", "c"]}, __local1__) - __local0__ = __local1__ - } - note: jsonfilter/mixed root types - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 7 - d: 8 + p = __local0__ { + json.filter({"a": {"b": {"c": 7, "d": 8, "x": 0}}, "e": 9}, {"a/b/d", ["a", "b", "c"]}, __local1__) + __local0__ = __local1__ + } + note: jsonfilter/mixed root types + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 7 + d: 8 diff --git a/test/cases/testdata/jsonfilteridempotent/test-jsonfilteridempotent-0229.yaml b/test/cases/testdata/jsonfilteridempotent/test-jsonfilteridempotent-0229.yaml index f4c0e956be..f627c895fa 100644 --- a/test/cases/testdata/jsonfilteridempotent/test-jsonfilteridempotent-0229.yaml +++ b/test/cases/testdata/jsonfilteridempotent/test-jsonfilteridempotent-0229.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - __local0__ = {"a": {"b": 2, "c": 3}} - json.filter(__local0__, {"a/b"}, __local1__) - __local1__ = {"a": {"b": 2}} - json.filter(__local0__, {"a/c"}, __local2__) - __local2__ = {"a": {"c": 3}} - __local0__ = {"a": {"b": 2, "c": 3}} - } - note: jsonfilteridempotent/TestBuiltinJSONFilterIdempotent - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = {"a": {"b": 2, "c": 3}} + json.filter(__local0__, {"a/b"}, __local1__) + __local1__ = {"a": {"b": 2}} + json.filter(__local0__, {"a/c"}, __local2__) + __local2__ = {"a": {"c": 3}} + __local0__ = {"a": {"b": 2, "c": 3}} + } + note: jsonfilteridempotent/TestBuiltinJSONFilterIdempotent + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jsonpatch/coverage.yaml b/test/cases/testdata/jsonpatch/coverage.yaml index a048968907..1d20201fda 100644 --- a/test/cases/testdata/jsonpatch/coverage.yaml +++ b/test/cases/testdata/jsonpatch/coverage.yaml @@ -1,11 +1,12 @@ +--- cases: -# These tests cover mostly error scenarios. -- note: jsonpatch/set-failure add-to-bad-path - query: data.main.result = x - want_result: [] - modules: - - | - package main - doc = [1, 2, 3] - patch = [{"op": "add", "path": "1.2", "value": "foo"}] - result = r {r = json.patch(doc, patch)} + # These tests cover mostly error scenarios. + - note: jsonpatch/set-failure add-to-bad-path + query: data.main.result = x + want_result: [] + modules: + - | + package main + doc = [1, 2, 3] + patch = [{"op": "add", "path": "1.2", "value": "foo"}] + result = r {r = json.patch(doc, patch)} diff --git a/test/cases/testdata/jsonpatch/json-patch-tests.yaml b/test/cases/testdata/jsonpatch/json-patch-tests.yaml index 9d58bc2853..0223a77880 100644 --- a/test/cases/testdata/jsonpatch/json-patch-tests.yaml +++ b/test/cases/testdata/jsonpatch/json-patch-tests.yaml @@ -1,775 +1,776 @@ +--- cases: -- note: jsonpatch/json_patch_tests - # In the main module, we construct an object of failed cases. Using this - # together with `want_result` works well since `go test` will show us - # which cases failed. - # - # This allows us to paste in JSON spec tests almost verbatim: see the modules - # at the end of this case. - query: data.main.failed_cases = x - want_result: - - x: {} - modules: - - | - package main - - # Grab all cases from the modules inside `data.json_patch_cases` and - # construct an object with readable index names. - all_cases[k] = t { - t := data.json_patch_cases[p].cases[i] - k := sprintf("%s/%d", [p, i]) - } - - # Go through `all_cases` and select the ones that pass. - passed_cases[k] = t { - t := all_cases[k] - t.expected == json.patch(t.doc, [p | p = t.patch[_]]) - } { - # Some cases ("test" ones in particular) don't have an expected value but - # are still tests that we want to run. - t := all_cases[k] - not t.expected - not t.error - _ = json.patch(t.doc, [p | p = t.patch[_]]) - } { - # These are cases that are expected to not return a result, for example - # there's an invalid index or a "test" fails. - t := all_cases[k] - _ = t.error - not json.patch(t.doc, [p | p = t.patch[_]]) - } { - # Some cases are specifically disabled for the OPA implementation. - t := all_cases[k] - t.opa_disabled == true - } - - # `failed_cases` is simply the cases that didn't pass. - failed_cases[k] = t { - t := all_cases[k] - not passed_cases[k] - } - - # Source: - - | - package json_patch_cases.json_spec_tests - cases = [ - { - "comment": "4.1. add with missing object", - "doc": { "q": { "bar": 2 } }, - "patch": [ {"op": "add", "path": "/a/b", "value": 1} ], - "error": - "path /a does not exist -- missing objects are not created recursively" - }, - - { - "comment": "A.1. Adding an Object Member", - "doc": { - "foo": "bar" - }, - "patch": [ - { "op": "add", "path": "/baz", "value": "qux" } - ], - "expected": { - "baz": "qux", - "foo": "bar" - } - }, - - { - "comment": "A.2. Adding an Array Element", - "doc": { - "foo": [ "bar", "baz" ] - }, - "patch": [ - { "op": "add", "path": "/foo/1", "value": "qux" } - ], - "expected": { - "foo": [ "bar", "qux", "baz" ] - } - }, - - { - "comment": "A.3. Removing an Object Member", - "doc": { - "baz": "qux", - "foo": "bar" - }, - "patch": [ - { "op": "remove", "path": "/baz" } - ], - "expected": { - "foo": "bar" - } - }, - - { - "comment": "A.4. Removing an Array Element", - "doc": { - "foo": [ "bar", "qux", "baz" ] - }, - "patch": [ - { "op": "remove", "path": "/foo/1" } - ], - "expected": { - "foo": [ "bar", "baz" ] - } - }, - - { - "comment": "A.5. Replacing a Value", - "doc": { - "baz": "qux", - "foo": "bar" - }, - "patch": [ - { "op": "replace", "path": "/baz", "value": "boo" } - ], - "expected": { - "baz": "boo", - "foo": "bar" - } - }, - - { - "comment": "A.6. Moving a Value", - "doc": { - "foo": { - "bar": "baz", - "waldo": "fred" - }, - "qux": { - "corge": "grault" - } - }, - "patch": [ - { "op": "move", "from": "/foo/waldo", "path": "/qux/thud" } - ], - "expected": { - "foo": { - "bar": "baz" - }, - "qux": { - "corge": "grault", - "thud": "fred" - } - } - }, - - { - "comment": "A.7. Moving an Array Element", - "doc": { - "foo": [ "all", "grass", "cows", "eat" ] - }, - "patch": [ - { "op": "move", "from": "/foo/1", "path": "/foo/3" } - ], - "expected": { - "foo": [ "all", "cows", "eat", "grass" ] - } - - }, - - { - "comment": "A.8. Testing a Value: Success", - "doc": { - "baz": "qux", - "foo": [ "a", 2, "c" ] - }, - "patch": [ - { "op": "test", "path": "/baz", "value": "qux" }, - { "op": "test", "path": "/foo/1", "value": 2 } - ], - "expected": { - "baz": "qux", - "foo": [ "a", 2, "c" ] + - note: jsonpatch/json_patch_tests + # In the main module, we construct an object of failed cases. Using this + # together with `want_result` works well since `go test` will show us + # which cases failed. + # + # This allows us to paste in JSON spec tests almost verbatim: see the modules + # at the end of this case. + query: data.main.failed_cases = x + want_result: + - x: {} + modules: + - | + package main + + # Grab all cases from the modules inside `data.json_patch_cases` and + # construct an object with readable index names. + all_cases[k] = t { + t := data.json_patch_cases[p].cases[i] + k := sprintf("%s/%d", [p, i]) } - }, - - { - "comment": "A.9. Testing a Value: Error", - "doc": { - "baz": "qux" - }, - "patch": [ - { "op": "test", "path": "/baz", "value": "bar" } - ], - "error": "string not equivalent" - }, - - { - "comment": "A.10. Adding a nested Member Object", - "doc": { - "foo": "bar" - }, - "patch": [ - { "op": "add", "path": "/child", "value": { "grandchild": { } } } - ], - "expected": { - "foo": "bar", - "child": { - "grandchild": { + + # Go through `all_cases` and select the ones that pass. + passed_cases[k] = t { + t := all_cases[k] + t.expected == json.patch(t.doc, [p | p = t.patch[_]]) + } { + # Some cases ("test" ones in particular) don't have an expected value but + # are still tests that we want to run. + t := all_cases[k] + not t.expected + not t.error + _ = json.patch(t.doc, [p | p = t.patch[_]]) + } { + # These are cases that are expected to not return a result, for example + # there's an invalid index or a "test" fails. + t := all_cases[k] + _ = t.error + not json.patch(t.doc, [p | p = t.patch[_]]) + } { + # Some cases are specifically disabled for the OPA implementation. + t := all_cases[k] + t.opa_disabled == true + } + + # `failed_cases` is simply the cases that didn't pass. + failed_cases[k] = t { + t := all_cases[k] + not passed_cases[k] } - } - } - }, - - { - "comment": "A.11. Ignoring Unrecognized Elements", - "doc": { - "foo":"bar" - }, - "patch": [ - { "op": "add", "path": "/baz", "value": "qux", "xyz": 123 } - ], - "expected": { - "foo":"bar", - "baz":"qux" - } - }, - - { - "comment": "A.12. Adding to a Non-existent Target", - "doc": { - "foo": "bar" - }, - "patch": [ - { "op": "add", "path": "/baz/bat", "value": "qux" } - ], - "error": "add to a non-existent target" - }, - - { - "comment": "A.13 Invalid JSON Patch Document", - "doc": { - "foo": "bar" + + # Source: + - | + package json_patch_cases.json_spec_tests + cases = [ + { + "comment": "4.1. add with missing object", + "doc": { "q": { "bar": 2 } }, + "patch": [ {"op": "add", "path": "/a/b", "value": 1} ], + "error": + "path /a does not exist -- missing objects are not created recursively" + }, + + { + "comment": "A.1. Adding an Object Member", + "doc": { + "foo": "bar" }, - "patch": [ - { "op": "add", "path": "/baz", "value": "qux", "op": "remove" } - ], - "error": "operation has two 'op' members", - "disabled": true - }, - - { - "comment": "A.14. ~ Escape Ordering", - "doc": { - "/": 9, - "~1": 10 + "patch": [ + { "op": "add", "path": "/baz", "value": "qux" } + ], + "expected": { + "baz": "qux", + "foo": "bar" + } + }, + + { + "comment": "A.2. Adding an Array Element", + "doc": { + "foo": [ "bar", "baz" ] }, - "patch": [{"op": "test", "path": "/~01", "value": 10}], - "expected": { - "/": 9, - "~1": 10 + "patch": [ + { "op": "add", "path": "/foo/1", "value": "qux" } + ], + "expected": { + "foo": [ "bar", "qux", "baz" ] } - }, + }, - { - "comment": "A.15. Comparing Strings and Numbers", - "doc": { - "/": 9, - "~1": 10 + { + "comment": "A.3. Removing an Object Member", + "doc": { + "baz": "qux", + "foo": "bar" }, - "patch": [{"op": "test", "path": "/~01", "value": "10"}], - "error": "number is not equal to string" - }, - - { - "comment": "A.16. Adding an Array Value", - "doc": { - "foo": ["bar"] + "patch": [ + { "op": "remove", "path": "/baz" } + ], + "expected": { + "foo": "bar" + } + }, + + { + "comment": "A.4. Removing an Array Element", + "doc": { + "foo": [ "bar", "qux", "baz" ] + }, + "patch": [ + { "op": "remove", "path": "/foo/1" } + ], + "expected": { + "foo": [ "bar", "baz" ] + } + }, + + { + "comment": "A.5. Replacing a Value", + "doc": { + "baz": "qux", + "foo": "bar" + }, + "patch": [ + { "op": "replace", "path": "/baz", "value": "boo" } + ], + "expected": { + "baz": "boo", + "foo": "bar" + } + }, + + { + "comment": "A.6. Moving a Value", + "doc": { + "foo": { + "bar": "baz", + "waldo": "fred" + }, + "qux": { + "corge": "grault" + } + }, + "patch": [ + { "op": "move", "from": "/foo/waldo", "path": "/qux/thud" } + ], + "expected": { + "foo": { + "bar": "baz" + }, + "qux": { + "corge": "grault", + "thud": "fred" + } + } + }, + + { + "comment": "A.7. Moving an Array Element", + "doc": { + "foo": [ "all", "grass", "cows", "eat" ] }, - "patch": [{ "op": "add", "path": "/foo/-", "value": ["abc", "def"] }], - "expected": { - "foo": ["bar", ["abc", "def"]] + "patch": [ + { "op": "move", "from": "/foo/1", "path": "/foo/3" } + ], + "expected": { + "foo": [ "all", "cows", "eat", "grass" ] } - } - ] - - # Source: - - | - package json_patch_cases.json_tests - cases = [ - { "comment": "empty list, empty docs", - "doc": {}, - "patch": [], - "expected": {} }, - - { "comment": "empty patch list", - "doc": {"foo": 1}, - "patch": [], - "expected": {"foo": 1} }, - - { "comment": "rearrangements OK?", - "doc": {"foo": 1, "bar": 2}, - "patch": [], - "expected": {"bar":2, "foo": 1} }, - - { "comment": "rearrangements OK? How about one level down ... array", - "doc": [{"foo": 1, "bar": 2}], - "patch": [], - "expected": [{"bar":2, "foo": 1}] }, - - { "comment": "rearrangements OK? How about one level down...", - "doc": {"foo":{"foo": 1, "bar": 2}}, - "patch": [], - "expected": {"foo":{"bar":2, "foo": 1}} }, - - { "comment": "add replaces any existing field", - "doc": {"foo": null}, - "patch": [{"op": "add", "path": "/foo", "value":1}], - "expected": {"foo": 1} }, - - { "comment": "toplevel array", - "doc": [], - "patch": [{"op": "add", "path": "/0", "value": "foo"}], - "expected": ["foo"] }, - - { "comment": "toplevel array, no change", - "doc": ["foo"], - "patch": [], - "expected": ["foo"] }, - - { "comment": "toplevel object, numeric string", - "doc": {}, - "patch": [{"op": "add", "path": "/foo", "value": "1"}], - "expected": {"foo":"1"} }, - - { "comment": "toplevel object, integer", - "doc": {}, - "patch": [{"op": "add", "path": "/foo", "value": 1}], - "expected": {"foo":1} }, - - { "comment": "Toplevel scalar values OK?", - "doc": "foo", - "patch": [{"op": "replace", "path": "", "value": "bar"}], - "expected": "bar", - "disabled": true }, - - { "comment": "replace object document with array document?", - "doc": {}, - "patch": [{"op": "add", "path": "", "value": []}], - "expected": [] }, - - { "comment": "replace array document with object document?", - "doc": [], - "patch": [{"op": "add", "path": "", "value": {}}], - "expected": {} }, - - { "comment": "append to root array document?", - "doc": [], - "patch": [{"op": "add", "path": "/-", "value": "hi"}], - "expected": ["hi"] }, - - { "comment": "Add, / target", - "doc": {}, - "patch": [ {"op": "add", "path": "/", "value":1 } ], - "expected": {"":1} }, - - { "comment": "Add, /foo/ deep target (trailing slash)", - "doc": {"foo": {}}, - "patch": [ {"op": "add", "path": "/foo/", "value":1 } ], - "expected": {"foo":{"": 1}} }, - - { "comment": "Add composite value at top level", - "doc": {"foo": 1}, - "patch": [{"op": "add", "path": "/bar", "value": [1, 2]}], - "expected": {"foo": 1, "bar": [1, 2]} }, - - { "comment": "Add into composite value", - "doc": {"foo": 1, "baz": [{"qux": "hello"}]}, - "patch": [{"op": "add", "path": "/baz/0/foo", "value": "world"}], - "expected": {"foo": 1, "baz": [{"qux": "hello", "foo": "world"}]} }, - - { "doc": {"bar": [1, 2]}, - "patch": [{"op": "add", "path": "/bar/8", "value": "5"}], - "error": "Out of bounds (upper)" }, - - { "doc": {"bar": [1, 2]}, - "patch": [{"op": "add", "path": "/bar/-1", "value": "5"}], - "error": "Out of bounds (lower)" }, - - { "doc": {"foo": 1}, - "patch": [{"op": "add", "path": "/bar", "value": true}], - "expected": {"foo": 1, "bar": true} }, - - { "doc": {"foo": 1}, - "patch": [{"op": "add", "path": "/bar", "value": false}], - "expected": {"foo": 1, "bar": false} }, - - { "doc": {"foo": 1}, - "patch": [{"op": "add", "path": "/bar", "value": null}], - "expected": {"foo": 1, "bar": null} }, - - { "comment": "0 can be an array index or object element name", - "doc": {"foo": 1}, - "patch": [{"op": "add", "path": "/0", "value": "bar"}], - "expected": {"foo": 1, "0": "bar" } }, - - { "doc": ["foo"], - "patch": [{"op": "add", "path": "/1", "value": "bar"}], - "expected": ["foo", "bar"] }, - - { "doc": ["foo", "sil"], - "patch": [{"op": "add", "path": "/1", "value": "bar"}], - "expected": ["foo", "bar", "sil"] }, - - { "doc": ["foo", "sil"], - "patch": [{"op": "add", "path": "/0", "value": "bar"}], - "expected": ["bar", "foo", "sil"] }, - - { "comment": "push item to array via last index + 1", - "doc": ["foo", "sil"], - "patch": [{"op":"add", "path": "/2", "value": "bar"}], - "expected": ["foo", "sil", "bar"] }, - - { "comment": "add item to array at index > length should fail", - "doc": ["foo", "sil"], - "patch": [{"op":"add", "path": "/3", "value": "bar"}], - "error": "index is greater than number of items in array" }, - - { "comment": "test against implementation-specific numeric parsing", - "doc": {"1e0": "foo"}, - "patch": [{"op": "test", "path": "/1e0", "value": "foo"}], - "expected": {"1e0": "foo"} }, - - { "comment": "test with bad number should fail", - "doc": ["foo", "bar"], - "patch": [{"op": "test", "path": "/1e0", "value": "bar"}], - "error": "test op shouldn't get array element 1" }, - - { "doc": ["foo", "sil"], - "patch": [{"op": "add", "path": "/bar", "value": 42}], - "error": "Object operation on array target" }, - - { "doc": ["foo", "sil"], - "patch": [{"op": "add", "path": "/1", "value": ["bar", "baz"]}], - "expected": ["foo", ["bar", "baz"], "sil"], - "comment": "value in array add not flattened" }, - - { "doc": {"foo": 1, "bar": [1, 2, 3, 4]}, - "patch": [{"op": "remove", "path": "/bar"}], - "expected": {"foo": 1} }, - - { "doc": {"foo": 1, "baz": [{"qux": "hello"}]}, - "patch": [{"op": "remove", "path": "/baz/0/qux"}], - "expected": {"foo": 1, "baz": [{}]} }, - - { "doc": {"foo": 1, "baz": [{"qux": "hello"}]}, - "patch": [{"op": "replace", "path": "/foo", "value": [1, 2, 3, 4]}], - "expected": {"foo": [1, 2, 3, 4], "baz": [{"qux": "hello"}]} }, - - { "doc": {"foo": [1, 2, 3, 4], "baz": [{"qux": "hello"}]}, - "patch": [{"op": "replace", "path": "/baz/0/qux", "value": "world"}], - "expected": {"foo": [1, 2, 3, 4], "baz": [{"qux": "world"}]} }, - - { "doc": ["foo"], - "patch": [{"op": "replace", "path": "/0", "value": "bar"}], - "expected": ["bar"] }, - - { "doc": [""], - "patch": [{"op": "replace", "path": "/0", "value": 0}], - "expected": [0] }, - - { "doc": [""], - "patch": [{"op": "replace", "path": "/0", "value": true}], - "expected": [true] }, - - { "doc": [""], - "patch": [{"op": "replace", "path": "/0", "value": false}], - "expected": [false] }, - - { "doc": [""], - "patch": [{"op": "replace", "path": "/0", "value": null}], - "expected": [null] }, - - { "doc": ["foo", "sil"], - "patch": [{"op": "replace", "path": "/1", "value": ["bar", "baz"]}], - "expected": ["foo", ["bar", "baz"]], - "comment": "value in array replace not flattened" }, - - { "comment": "replace whole document", - "doc": {"foo": "bar"}, - "patch": [{"op": "replace", "path": "", "value": {"baz": "qux"}}], - "expected": {"baz": "qux"} }, - - { "comment": "test replace with missing parent key should fail", - "doc": {"bar": "baz"}, - "patch": [{"op": "replace", "path": "/foo/bar", "value": false}], - "error": "replace op should fail with missing parent key" }, - - { "comment": "spurious patch properties", - "doc": {"foo": 1}, - "patch": [{"op": "test", "path": "/foo", "value": 1, "spurious": 1}], - "expected": {"foo": 1} }, - - { "doc": {"foo": null}, - "patch": [{"op": "test", "path": "/foo", "value": null}], - "expected": {"foo": null}, - "comment": "null value should be valid obj property" }, - - { "doc": {"foo": null}, - "patch": [{"op": "replace", "path": "/foo", "value": "truthy"}], - "expected": {"foo": "truthy"}, - "comment": "null value should be valid obj property to be replaced with something truthy" }, - - { "doc": {"foo": null}, - "patch": [{"op": "move", "from": "/foo", "path": "/bar"}], - "expected": {"bar": null}, - "comment": "null value should be valid obj property to be moved" }, - - { "doc": {"foo": null}, - "patch": [{"op": "copy", "from": "/foo", "path": "/bar"}], - "expected": {"foo": null, "bar": null}, - "comment": "null value should be valid obj property to be copied" }, - - { "doc": {"foo": null}, - "patch": [{"op": "remove", "path": "/foo"}], - "expected": {}, - "comment": "null value should be valid obj property to be removed" }, - - { "doc": {"foo": "bar"}, - "patch": [{"op": "replace", "path": "/foo", "value": null}], - "expected": {"foo": null}, - "comment": "null value should still be valid obj property replace other value" }, - - { "doc": {"foo": {"foo": 1, "bar": 2}}, - "patch": [{"op": "test", "path": "/foo", "value": {"bar": 2, "foo": 1}}], - "expected": {"foo": {"foo": 1, "bar": 2}}, - "comment": "test should pass despite rearrangement" }, - - { "doc": {"foo": [{"foo": 1, "bar": 2}]}, - "patch": [{"op": "test", "path": "/foo", "value": [{"bar": 2, "foo": 1}]}], - "expected": {"foo": [{"foo": 1, "bar": 2}]}, - "comment": "test should pass despite (nested) rearrangement" }, - - { "doc": {"foo": {"bar": [1, 2, 5, 4]}}, - "patch": [{"op": "test", "path": "/foo", "value": {"bar": [1, 2, 5, 4]}}], - "expected": {"foo": {"bar": [1, 2, 5, 4]}}, - "comment": "test should pass - no error" }, - - { "doc": {"foo": {"bar": [1, 2, 5, 4]}}, - "patch": [{"op": "test", "path": "/foo", "value": [1, 2]}], - "error": "test op should fail" }, - - { "comment": "Whole document", - "doc": { "foo": 1 }, - "patch": [{"op": "test", "path": "", "value": {"foo": 1}}], - "disabled": true }, - - { "comment": "Empty-string element", - "doc": { "": 1 }, - "patch": [{"op": "test", "path": "/", "value": 1}], - "expected": { "": 1 } }, - - { "doc": { - "foo": ["bar", "baz"], - "": 0, - "a/b": 1, - "c%d": 2, - "e^f": 3, - "g|h": 4, - "i\\j": 5, - "k\"l": 6, - " ": 7, - "m~n": 8 - }, - "patch": [{"op": "test", "path": "/foo", "value": ["bar", "baz"]}, - {"op": "test", "path": "/foo/0", "value": "bar"}, - {"op": "test", "path": "/", "value": 0}, - {"op": "test", "path": "/a~1b", "value": 1}, - {"op": "test", "path": "/c%d", "value": 2}, - {"op": "test", "path": "/e^f", "value": 3}, - {"op": "test", "path": "/g|h", "value": 4}, - {"op": "test", "path": "/i\\j", "value": 5}, - {"op": "test", "path": "/k\"l", "value": 6}, - {"op": "test", "path": "/ ", "value": 7}, - {"op": "test", "path": "/m~0n", "value": 8}], - "expected": { - "": 0, - " ": 7, - "a/b": 1, - "c%d": 2, - "e^f": 3, - "foo": [ - "bar", - "baz" - ], - "g|h": 4, - "i\\j": 5, - "k\"l": 6, - "m~n": 8 + + }, + + { + "comment": "A.8. Testing a Value: Success", + "doc": { + "baz": "qux", + "foo": [ "a", 2, "c" ] + }, + "patch": [ + { "op": "test", "path": "/baz", "value": "qux" }, + { "op": "test", "path": "/foo/1", "value": 2 } + ], + "expected": { + "baz": "qux", + "foo": [ "a", 2, "c" ] } + }, + + { + "comment": "A.9. Testing a Value: Error", + "doc": { + "baz": "qux" + }, + "patch": [ + { "op": "test", "path": "/baz", "value": "bar" } + ], + "error": "string not equivalent" + }, + + { + "comment": "A.10. Adding a nested Member Object", + "doc": { + "foo": "bar" }, - { "comment": "Move to same location has no effect", - "doc": {"foo": 1}, - "patch": [{"op": "move", "from": "/foo", "path": "/foo"}], - "expected": {"foo": 1} }, - - { "doc": {"foo": 1, "baz": [{"qux": "hello"}]}, - "patch": [{"op": "move", "from": "/foo", "path": "/bar"}], - "expected": {"baz": [{"qux": "hello"}], "bar": 1} }, - - { "doc": {"baz": [{"qux": "hello"}], "bar": 1}, - "patch": [{"op": "move", "from": "/baz/0/qux", "path": "/baz/1"}], - "expected": {"baz": [{}, "hello"], "bar": 1} }, - - { "doc": {"baz": [{"qux": "hello"}], "bar": 1}, - "patch": [{"op": "copy", "from": "/baz/0", "path": "/boo"}], - "expected": {"baz":[{"qux":"hello"}],"bar":1,"boo":{"qux":"hello"}} }, - - { "comment": "replacing the root of the document is possible with add", - "doc": {"foo": "bar"}, - "patch": [{"op": "add", "path": "", "value": {"baz": "qux"}}], - "expected": {"baz":"qux"}}, - - { "comment": "Adding to \"/-\" adds to the end of the array", - "doc": [ 1, 2 ], - "patch": [ { "op": "add", "path": "/-", "value": { "foo": [ "bar", "baz" ] } } ], - "expected": [ 1, 2, { "foo": [ "bar", "baz" ] } ]}, - - { "comment": "Adding to \"/-\" adds to the end of the array, even n levels down", - "doc": [ 1, 2, [ 3, [ 4, 5 ] ] ], - "patch": [ { "op": "add", "path": "/2/1/-", "value": { "foo": [ "bar", "baz" ] } } ], - "expected": [ 1, 2, [ 3, [ 4, 5, { "foo": [ "bar", "baz" ] } ] ] ]}, - - { "comment": "test remove with bad number should fail", - "doc": {"foo": 1, "baz": [{"qux": "hello"}]}, - "patch": [{"op": "remove", "path": "/baz/1e0/qux"}], - "error": "remove op shouldn't remove from array with bad number" }, - - { "comment": "test remove on array", - "doc": [1, 2, 3, 4], - "patch": [{"op": "remove", "path": "/0"}], - "expected": [2, 3, 4] }, - - { "comment": "test repeated removes", - "doc": [1, 2, 3, 4], - "patch": [{ "op": "remove", "path": "/1" }, - { "op": "remove", "path": "/2" }], - "expected": [1, 3] }, - - { "comment": "test remove with bad index should fail", - "doc": [1, 2, 3, 4], - "patch": [{"op": "remove", "path": "/1e0"}], - "error": "remove op shouldn't remove from array with bad number" }, - - { "comment": "test replace with bad number should fail", - "doc": [""], - "patch": [{"op": "replace", "path": "/1e0", "value": false}], - "error": "replace op shouldn't replace in array with bad number" }, - - { "comment": "test copy with bad number should fail", - "doc": {"baz": [1,2,3], "bar": 1}, - "patch": [{"op": "copy", "from": "/baz/1e0", "path": "/boo"}], - "error": "copy op shouldn't work with bad number" }, - - { "comment": "test move with bad number should fail", - "doc": {"foo": 1, "baz": [1,2,3,4]}, - "patch": [{"op": "move", "from": "/baz/1e0", "path": "/foo"}], - "error": "move op shouldn't work with bad number" }, - - { "comment": "test add with bad number should fail", - "doc": ["foo", "sil"], - "patch": [{"op": "add", "path": "/1e0", "value": "bar"}], - "error": "add op shouldn't add to array with bad number" }, - - { "comment": "missing 'path' parameter", - "doc": {}, - "patch": [ { "op": "add", "value": "bar" } ], - "error": "missing 'path' parameter" }, - - { "comment": "'path' parameter with null value", - "doc": {}, - "patch": [ { "op": "add", "path": null, "value": "bar" } ], - "error": "null is not valid value for 'path'" }, - - { "comment": "invalid JSON Pointer token", - "opa_disabled": true, - "doc": {}, - "patch": [ { "op": "add", "path": "foo", "value": "bar" } ], - "error": "JSON Pointer should start with a slash" }, - - { "comment": "missing 'value' parameter to add", - "doc": [ 1 ], - "patch": [ { "op": "add", "path": "/-" } ], - "error": "missing 'value' parameter" }, - - { "comment": "missing 'value' parameter to replace", - "doc": [ 1 ], - "patch": [ { "op": "replace", "path": "/0" } ], - "error": "missing 'value' parameter" }, - - { "comment": "missing 'value' parameter to test", - "doc": [ null ], - "patch": [ { "op": "test", "path": "/0" } ], - "error": "missing 'value' parameter" }, - - { "comment": "missing value parameter to test - where undef is falsy", - "doc": [ false ], - "patch": [ { "op": "test", "path": "/0" } ], - "error": "missing 'value' parameter" }, - - { "comment": "missing from parameter to copy", - "doc": [ 1 ], - "patch": [ { "op": "copy", "path": "/-" } ], - "error": "missing 'from' parameter" }, - - { "comment": "missing from location to copy", - "doc": { "foo": 1 }, - "patch": [ { "op": "copy", "from": "/bar", "path": "/foo" } ], - "error": "missing 'from' location" }, - - { "comment": "missing from parameter to move", - "doc": { "foo": 1 }, - "patch": [ { "op": "move", "path": "" } ], - "error": "missing 'from' parameter" }, - - { "comment": "missing from location to move", - "doc": { "foo": 1 }, - "patch": [ { "op": "move", "from": "/bar", "path": "/foo" } ], - "error": "missing 'from' location" }, - - { "comment": "duplicate ops", - "opa_disabled": true, - "doc": { "foo": "bar" }, - "patch": [ { "op": "add", "path": "/baz", "value": "qux", - "op": "move", "from":"/foo" } ], - "error": "patch has two 'op' members", - "disabled": true }, - - { "comment": "unrecognized op should fail", - "doc": {"foo": 1}, - "patch": [{"op": "spam", "path": "/foo", "value": 1}], - "error": "Unrecognized op 'spam'" }, - - { "comment": "test with bad array number that has leading zeros", - "doc": ["foo", "bar"], - "patch": [{"op": "test", "path": "/00", "value": "foo"}], - "error": "test op should reject the array value, it has leading zeros" }, - - { "comment": "test with bad array number that has leading zeros", - "doc": ["foo", "bar"], - "patch": [{"op": "test", "path": "/01", "value": "bar"}], - "error": "test op should reject the array value, it has leading zeros" }, - - { "comment": "Removing nonexistent field", - "doc": {"foo" : "bar"}, - "patch": [{"op": "remove", "path": "/baz"}], - "error": "removing a nonexistent field should fail" }, - - { "comment": "Removing deep nonexistent path", - "doc": {"foo" : "bar"}, - "patch": [{"op": "remove", "path": "/missing1/missing2"}], - "error": "removing a nonexistent field should fail" }, - - { "comment": "Removing nonexistent index", - "doc": ["foo", "bar"], - "patch": [{"op": "remove", "path": "/2"}], - "error": "removing a nonexistent index should fail" }, - - { "comment": "Patch with different capitalisation than doc", - "doc": {"foo":"bar"}, - "patch": [{"op": "add", "path": "/FOO", "value": "BAR"}], - "expected": {"foo": "bar", "FOO": "BAR"} + "patch": [ + { "op": "add", "path": "/child", "value": { "grandchild": { } } } + ], + "expected": { + "foo": "bar", + "child": { + "grandchild": { + } + } } - ] + }, + + { + "comment": "A.11. Ignoring Unrecognized Elements", + "doc": { + "foo":"bar" + }, + "patch": [ + { "op": "add", "path": "/baz", "value": "qux", "xyz": 123 } + ], + "expected": { + "foo":"bar", + "baz":"qux" + } + }, + + { + "comment": "A.12. Adding to a Non-existent Target", + "doc": { + "foo": "bar" + }, + "patch": [ + { "op": "add", "path": "/baz/bat", "value": "qux" } + ], + "error": "add to a non-existent target" + }, + + { + "comment": "A.13 Invalid JSON Patch Document", + "doc": { + "foo": "bar" + }, + "patch": [ + { "op": "add", "path": "/baz", "value": "qux", "op": "remove" } + ], + "error": "operation has two 'op' members", + "disabled": true + }, + + { + "comment": "A.14. ~ Escape Ordering", + "doc": { + "/": 9, + "~1": 10 + }, + "patch": [{"op": "test", "path": "/~01", "value": 10}], + "expected": { + "/": 9, + "~1": 10 + } + }, + + { + "comment": "A.15. Comparing Strings and Numbers", + "doc": { + "/": 9, + "~1": 10 + }, + "patch": [{"op": "test", "path": "/~01", "value": "10"}], + "error": "number is not equal to string" + }, + + { + "comment": "A.16. Adding an Array Value", + "doc": { + "foo": ["bar"] + }, + "patch": [{ "op": "add", "path": "/foo/-", "value": ["abc", "def"] }], + "expected": { + "foo": ["bar", ["abc", "def"]] + } + } + ] + + # Source: + - | + package json_patch_cases.json_tests + cases = [ + { "comment": "empty list, empty docs", + "doc": {}, + "patch": [], + "expected": {} }, + + { "comment": "empty patch list", + "doc": {"foo": 1}, + "patch": [], + "expected": {"foo": 1} }, + + { "comment": "rearrangements OK?", + "doc": {"foo": 1, "bar": 2}, + "patch": [], + "expected": {"bar":2, "foo": 1} }, + + { "comment": "rearrangements OK? How about one level down ... array", + "doc": [{"foo": 1, "bar": 2}], + "patch": [], + "expected": [{"bar":2, "foo": 1}] }, + + { "comment": "rearrangements OK? How about one level down...", + "doc": {"foo":{"foo": 1, "bar": 2}}, + "patch": [], + "expected": {"foo":{"bar":2, "foo": 1}} }, + + { "comment": "add replaces any existing field", + "doc": {"foo": null}, + "patch": [{"op": "add", "path": "/foo", "value":1}], + "expected": {"foo": 1} }, + + { "comment": "toplevel array", + "doc": [], + "patch": [{"op": "add", "path": "/0", "value": "foo"}], + "expected": ["foo"] }, + + { "comment": "toplevel array, no change", + "doc": ["foo"], + "patch": [], + "expected": ["foo"] }, + + { "comment": "toplevel object, numeric string", + "doc": {}, + "patch": [{"op": "add", "path": "/foo", "value": "1"}], + "expected": {"foo":"1"} }, + + { "comment": "toplevel object, integer", + "doc": {}, + "patch": [{"op": "add", "path": "/foo", "value": 1}], + "expected": {"foo":1} }, + + { "comment": "Toplevel scalar values OK?", + "doc": "foo", + "patch": [{"op": "replace", "path": "", "value": "bar"}], + "expected": "bar", + "disabled": true }, + + { "comment": "replace object document with array document?", + "doc": {}, + "patch": [{"op": "add", "path": "", "value": []}], + "expected": [] }, + + { "comment": "replace array document with object document?", + "doc": [], + "patch": [{"op": "add", "path": "", "value": {}}], + "expected": {} }, + + { "comment": "append to root array document?", + "doc": [], + "patch": [{"op": "add", "path": "/-", "value": "hi"}], + "expected": ["hi"] }, + + { "comment": "Add, / target", + "doc": {}, + "patch": [ {"op": "add", "path": "/", "value":1 } ], + "expected": {"":1} }, + + { "comment": "Add, /foo/ deep target (trailing slash)", + "doc": {"foo": {}}, + "patch": [ {"op": "add", "path": "/foo/", "value":1 } ], + "expected": {"foo":{"": 1}} }, + + { "comment": "Add composite value at top level", + "doc": {"foo": 1}, + "patch": [{"op": "add", "path": "/bar", "value": [1, 2]}], + "expected": {"foo": 1, "bar": [1, 2]} }, + + { "comment": "Add into composite value", + "doc": {"foo": 1, "baz": [{"qux": "hello"}]}, + "patch": [{"op": "add", "path": "/baz/0/foo", "value": "world"}], + "expected": {"foo": 1, "baz": [{"qux": "hello", "foo": "world"}]} }, + + { "doc": {"bar": [1, 2]}, + "patch": [{"op": "add", "path": "/bar/8", "value": "5"}], + "error": "Out of bounds (upper)" }, + + { "doc": {"bar": [1, 2]}, + "patch": [{"op": "add", "path": "/bar/-1", "value": "5"}], + "error": "Out of bounds (lower)" }, + + { "doc": {"foo": 1}, + "patch": [{"op": "add", "path": "/bar", "value": true}], + "expected": {"foo": 1, "bar": true} }, + + { "doc": {"foo": 1}, + "patch": [{"op": "add", "path": "/bar", "value": false}], + "expected": {"foo": 1, "bar": false} }, + + { "doc": {"foo": 1}, + "patch": [{"op": "add", "path": "/bar", "value": null}], + "expected": {"foo": 1, "bar": null} }, + + { "comment": "0 can be an array index or object element name", + "doc": {"foo": 1}, + "patch": [{"op": "add", "path": "/0", "value": "bar"}], + "expected": {"foo": 1, "0": "bar" } }, + + { "doc": ["foo"], + "patch": [{"op": "add", "path": "/1", "value": "bar"}], + "expected": ["foo", "bar"] }, + + { "doc": ["foo", "sil"], + "patch": [{"op": "add", "path": "/1", "value": "bar"}], + "expected": ["foo", "bar", "sil"] }, + + { "doc": ["foo", "sil"], + "patch": [{"op": "add", "path": "/0", "value": "bar"}], + "expected": ["bar", "foo", "sil"] }, + + { "comment": "push item to array via last index + 1", + "doc": ["foo", "sil"], + "patch": [{"op":"add", "path": "/2", "value": "bar"}], + "expected": ["foo", "sil", "bar"] }, + + { "comment": "add item to array at index > length should fail", + "doc": ["foo", "sil"], + "patch": [{"op":"add", "path": "/3", "value": "bar"}], + "error": "index is greater than number of items in array" }, + + { "comment": "test against implementation-specific numeric parsing", + "doc": {"1e0": "foo"}, + "patch": [{"op": "test", "path": "/1e0", "value": "foo"}], + "expected": {"1e0": "foo"} }, + + { "comment": "test with bad number should fail", + "doc": ["foo", "bar"], + "patch": [{"op": "test", "path": "/1e0", "value": "bar"}], + "error": "test op shouldn't get array element 1" }, + + { "doc": ["foo", "sil"], + "patch": [{"op": "add", "path": "/bar", "value": 42}], + "error": "Object operation on array target" }, + + { "doc": ["foo", "sil"], + "patch": [{"op": "add", "path": "/1", "value": ["bar", "baz"]}], + "expected": ["foo", ["bar", "baz"], "sil"], + "comment": "value in array add not flattened" }, + + { "doc": {"foo": 1, "bar": [1, 2, 3, 4]}, + "patch": [{"op": "remove", "path": "/bar"}], + "expected": {"foo": 1} }, + + { "doc": {"foo": 1, "baz": [{"qux": "hello"}]}, + "patch": [{"op": "remove", "path": "/baz/0/qux"}], + "expected": {"foo": 1, "baz": [{}]} }, + + { "doc": {"foo": 1, "baz": [{"qux": "hello"}]}, + "patch": [{"op": "replace", "path": "/foo", "value": [1, 2, 3, 4]}], + "expected": {"foo": [1, 2, 3, 4], "baz": [{"qux": "hello"}]} }, + + { "doc": {"foo": [1, 2, 3, 4], "baz": [{"qux": "hello"}]}, + "patch": [{"op": "replace", "path": "/baz/0/qux", "value": "world"}], + "expected": {"foo": [1, 2, 3, 4], "baz": [{"qux": "world"}]} }, + + { "doc": ["foo"], + "patch": [{"op": "replace", "path": "/0", "value": "bar"}], + "expected": ["bar"] }, + + { "doc": [""], + "patch": [{"op": "replace", "path": "/0", "value": 0}], + "expected": [0] }, + + { "doc": [""], + "patch": [{"op": "replace", "path": "/0", "value": true}], + "expected": [true] }, + + { "doc": [""], + "patch": [{"op": "replace", "path": "/0", "value": false}], + "expected": [false] }, + + { "doc": [""], + "patch": [{"op": "replace", "path": "/0", "value": null}], + "expected": [null] }, + + { "doc": ["foo", "sil"], + "patch": [{"op": "replace", "path": "/1", "value": ["bar", "baz"]}], + "expected": ["foo", ["bar", "baz"]], + "comment": "value in array replace not flattened" }, + + { "comment": "replace whole document", + "doc": {"foo": "bar"}, + "patch": [{"op": "replace", "path": "", "value": {"baz": "qux"}}], + "expected": {"baz": "qux"} }, + + { "comment": "test replace with missing parent key should fail", + "doc": {"bar": "baz"}, + "patch": [{"op": "replace", "path": "/foo/bar", "value": false}], + "error": "replace op should fail with missing parent key" }, + + { "comment": "spurious patch properties", + "doc": {"foo": 1}, + "patch": [{"op": "test", "path": "/foo", "value": 1, "spurious": 1}], + "expected": {"foo": 1} }, + + { "doc": {"foo": null}, + "patch": [{"op": "test", "path": "/foo", "value": null}], + "expected": {"foo": null}, + "comment": "null value should be valid obj property" }, + + { "doc": {"foo": null}, + "patch": [{"op": "replace", "path": "/foo", "value": "truthy"}], + "expected": {"foo": "truthy"}, + "comment": "null value should be valid obj property to be replaced with something truthy" }, + + { "doc": {"foo": null}, + "patch": [{"op": "move", "from": "/foo", "path": "/bar"}], + "expected": {"bar": null}, + "comment": "null value should be valid obj property to be moved" }, + + { "doc": {"foo": null}, + "patch": [{"op": "copy", "from": "/foo", "path": "/bar"}], + "expected": {"foo": null, "bar": null}, + "comment": "null value should be valid obj property to be copied" }, + + { "doc": {"foo": null}, + "patch": [{"op": "remove", "path": "/foo"}], + "expected": {}, + "comment": "null value should be valid obj property to be removed" }, + + { "doc": {"foo": "bar"}, + "patch": [{"op": "replace", "path": "/foo", "value": null}], + "expected": {"foo": null}, + "comment": "null value should still be valid obj property replace other value" }, + + { "doc": {"foo": {"foo": 1, "bar": 2}}, + "patch": [{"op": "test", "path": "/foo", "value": {"bar": 2, "foo": 1}}], + "expected": {"foo": {"foo": 1, "bar": 2}}, + "comment": "test should pass despite rearrangement" }, + + { "doc": {"foo": [{"foo": 1, "bar": 2}]}, + "patch": [{"op": "test", "path": "/foo", "value": [{"bar": 2, "foo": 1}]}], + "expected": {"foo": [{"foo": 1, "bar": 2}]}, + "comment": "test should pass despite (nested) rearrangement" }, + + { "doc": {"foo": {"bar": [1, 2, 5, 4]}}, + "patch": [{"op": "test", "path": "/foo", "value": {"bar": [1, 2, 5, 4]}}], + "expected": {"foo": {"bar": [1, 2, 5, 4]}}, + "comment": "test should pass - no error" }, + + { "doc": {"foo": {"bar": [1, 2, 5, 4]}}, + "patch": [{"op": "test", "path": "/foo", "value": [1, 2]}], + "error": "test op should fail" }, + + { "comment": "Whole document", + "doc": { "foo": 1 }, + "patch": [{"op": "test", "path": "", "value": {"foo": 1}}], + "disabled": true }, + + { "comment": "Empty-string element", + "doc": { "": 1 }, + "patch": [{"op": "test", "path": "/", "value": 1}], + "expected": { "": 1 } }, + + { "doc": { + "foo": ["bar", "baz"], + "": 0, + "a/b": 1, + "c%d": 2, + "e^f": 3, + "g|h": 4, + "i\\j": 5, + "k\"l": 6, + " ": 7, + "m~n": 8 + }, + "patch": [{"op": "test", "path": "/foo", "value": ["bar", "baz"]}, + {"op": "test", "path": "/foo/0", "value": "bar"}, + {"op": "test", "path": "/", "value": 0}, + {"op": "test", "path": "/a~1b", "value": 1}, + {"op": "test", "path": "/c%d", "value": 2}, + {"op": "test", "path": "/e^f", "value": 3}, + {"op": "test", "path": "/g|h", "value": 4}, + {"op": "test", "path": "/i\\j", "value": 5}, + {"op": "test", "path": "/k\"l", "value": 6}, + {"op": "test", "path": "/ ", "value": 7}, + {"op": "test", "path": "/m~0n", "value": 8}], + "expected": { + "": 0, + " ": 7, + "a/b": 1, + "c%d": 2, + "e^f": 3, + "foo": [ + "bar", + "baz" + ], + "g|h": 4, + "i\\j": 5, + "k\"l": 6, + "m~n": 8 + } + }, + { "comment": "Move to same location has no effect", + "doc": {"foo": 1}, + "patch": [{"op": "move", "from": "/foo", "path": "/foo"}], + "expected": {"foo": 1} }, + + { "doc": {"foo": 1, "baz": [{"qux": "hello"}]}, + "patch": [{"op": "move", "from": "/foo", "path": "/bar"}], + "expected": {"baz": [{"qux": "hello"}], "bar": 1} }, + + { "doc": {"baz": [{"qux": "hello"}], "bar": 1}, + "patch": [{"op": "move", "from": "/baz/0/qux", "path": "/baz/1"}], + "expected": {"baz": [{}, "hello"], "bar": 1} }, + + { "doc": {"baz": [{"qux": "hello"}], "bar": 1}, + "patch": [{"op": "copy", "from": "/baz/0", "path": "/boo"}], + "expected": {"baz":[{"qux":"hello"}],"bar":1,"boo":{"qux":"hello"}} }, + + { "comment": "replacing the root of the document is possible with add", + "doc": {"foo": "bar"}, + "patch": [{"op": "add", "path": "", "value": {"baz": "qux"}}], + "expected": {"baz":"qux"}}, + + { "comment": "Adding to \"/-\" adds to the end of the array", + "doc": [ 1, 2 ], + "patch": [ { "op": "add", "path": "/-", "value": { "foo": [ "bar", "baz" ] } } ], + "expected": [ 1, 2, { "foo": [ "bar", "baz" ] } ]}, + + { "comment": "Adding to \"/-\" adds to the end of the array, even n levels down", + "doc": [ 1, 2, [ 3, [ 4, 5 ] ] ], + "patch": [ { "op": "add", "path": "/2/1/-", "value": { "foo": [ "bar", "baz" ] } } ], + "expected": [ 1, 2, [ 3, [ 4, 5, { "foo": [ "bar", "baz" ] } ] ] ]}, + + { "comment": "test remove with bad number should fail", + "doc": {"foo": 1, "baz": [{"qux": "hello"}]}, + "patch": [{"op": "remove", "path": "/baz/1e0/qux"}], + "error": "remove op shouldn't remove from array with bad number" }, + + { "comment": "test remove on array", + "doc": [1, 2, 3, 4], + "patch": [{"op": "remove", "path": "/0"}], + "expected": [2, 3, 4] }, + + { "comment": "test repeated removes", + "doc": [1, 2, 3, 4], + "patch": [{ "op": "remove", "path": "/1" }, + { "op": "remove", "path": "/2" }], + "expected": [1, 3] }, + + { "comment": "test remove with bad index should fail", + "doc": [1, 2, 3, 4], + "patch": [{"op": "remove", "path": "/1e0"}], + "error": "remove op shouldn't remove from array with bad number" }, + + { "comment": "test replace with bad number should fail", + "doc": [""], + "patch": [{"op": "replace", "path": "/1e0", "value": false}], + "error": "replace op shouldn't replace in array with bad number" }, + + { "comment": "test copy with bad number should fail", + "doc": {"baz": [1,2,3], "bar": 1}, + "patch": [{"op": "copy", "from": "/baz/1e0", "path": "/boo"}], + "error": "copy op shouldn't work with bad number" }, + + { "comment": "test move with bad number should fail", + "doc": {"foo": 1, "baz": [1,2,3,4]}, + "patch": [{"op": "move", "from": "/baz/1e0", "path": "/foo"}], + "error": "move op shouldn't work with bad number" }, + + { "comment": "test add with bad number should fail", + "doc": ["foo", "sil"], + "patch": [{"op": "add", "path": "/1e0", "value": "bar"}], + "error": "add op shouldn't add to array with bad number" }, + + { "comment": "missing 'path' parameter", + "doc": {}, + "patch": [ { "op": "add", "value": "bar" } ], + "error": "missing 'path' parameter" }, + + { "comment": "'path' parameter with null value", + "doc": {}, + "patch": [ { "op": "add", "path": null, "value": "bar" } ], + "error": "null is not valid value for 'path'" }, + + { "comment": "invalid JSON Pointer token", + "opa_disabled": true, + "doc": {}, + "patch": [ { "op": "add", "path": "foo", "value": "bar" } ], + "error": "JSON Pointer should start with a slash" }, + + { "comment": "missing 'value' parameter to add", + "doc": [ 1 ], + "patch": [ { "op": "add", "path": "/-" } ], + "error": "missing 'value' parameter" }, + + { "comment": "missing 'value' parameter to replace", + "doc": [ 1 ], + "patch": [ { "op": "replace", "path": "/0" } ], + "error": "missing 'value' parameter" }, + + { "comment": "missing 'value' parameter to test", + "doc": [ null ], + "patch": [ { "op": "test", "path": "/0" } ], + "error": "missing 'value' parameter" }, + + { "comment": "missing value parameter to test - where undef is falsy", + "doc": [ false ], + "patch": [ { "op": "test", "path": "/0" } ], + "error": "missing 'value' parameter" }, + + { "comment": "missing from parameter to copy", + "doc": [ 1 ], + "patch": [ { "op": "copy", "path": "/-" } ], + "error": "missing 'from' parameter" }, + + { "comment": "missing from location to copy", + "doc": { "foo": 1 }, + "patch": [ { "op": "copy", "from": "/bar", "path": "/foo" } ], + "error": "missing 'from' location" }, + + { "comment": "missing from parameter to move", + "doc": { "foo": 1 }, + "patch": [ { "op": "move", "path": "" } ], + "error": "missing 'from' parameter" }, + + { "comment": "missing from location to move", + "doc": { "foo": 1 }, + "patch": [ { "op": "move", "from": "/bar", "path": "/foo" } ], + "error": "missing 'from' location" }, + + { "comment": "duplicate ops", + "opa_disabled": true, + "doc": { "foo": "bar" }, + "patch": [ { "op": "add", "path": "/baz", "value": "qux", + "op": "move", "from":"/foo" } ], + "error": "patch has two 'op' members", + "disabled": true }, + + { "comment": "unrecognized op should fail", + "doc": {"foo": 1}, + "patch": [{"op": "spam", "path": "/foo", "value": 1}], + "error": "Unrecognized op 'spam'" }, + + { "comment": "test with bad array number that has leading zeros", + "doc": ["foo", "bar"], + "patch": [{"op": "test", "path": "/00", "value": "foo"}], + "error": "test op should reject the array value, it has leading zeros" }, + + { "comment": "test with bad array number that has leading zeros", + "doc": ["foo", "bar"], + "patch": [{"op": "test", "path": "/01", "value": "bar"}], + "error": "test op should reject the array value, it has leading zeros" }, + + { "comment": "Removing nonexistent field", + "doc": {"foo" : "bar"}, + "patch": [{"op": "remove", "path": "/baz"}], + "error": "removing a nonexistent field should fail" }, + + { "comment": "Removing deep nonexistent path", + "doc": {"foo" : "bar"}, + "patch": [{"op": "remove", "path": "/missing1/missing2"}], + "error": "removing a nonexistent field should fail" }, + + { "comment": "Removing nonexistent index", + "doc": ["foo", "bar"], + "patch": [{"op": "remove", "path": "/2"}], + "error": "removing a nonexistent index should fail" }, + + { "comment": "Patch with different capitalisation than doc", + "doc": {"foo":"bar"}, + "patch": [{"op": "add", "path": "/FOO", "value": "BAR"}], + "expected": {"foo": "bar", "FOO": "BAR"} + } + ] diff --git a/test/cases/testdata/jsonpatch/set.yaml b/test/cases/testdata/jsonpatch/set.yaml index 48b0669b97..581222f9c7 100644 --- a/test/cases/testdata/jsonpatch/set.yaml +++ b/test/cases/testdata/jsonpatch/set.yaml @@ -1,67 +1,68 @@ +--- cases: -# Here are some tests that cover dealing with sets and json.patch, since that -# is not covered by the spec. -- note: jsonpatch/set-success basic-remove - query: data.main.result.foo = x - want_result: - - x: - - a - - c - modules: - - | - package main - doc = {"foo": {"a", "b", "c"}} - patch = [{"op": "remove", "path": "foo/b"}] - result = r {r = json.patch(doc, patch)} - sort_bindings: true -- note: jsonpatch/set-success basic-add - query: data.main.result.foo = x - want_result: - - x: - - a - - b - - c - - d - modules: - - | - package main - doc = {"foo": {"a", "b", "c"}} - patch = [{"op": "add", "path": "foo/d", "value": "d"}] - result = r {r = json.patch(doc, patch)} - sort_bindings: true -- note: jsonpatch/set-failure add-with-mismatched-key-value - query: data.main.result.foo = x - want_result: [] # value does not match key - modules: - - | - package main - doc = {"foo": {"a", "b", "c"}} - patch = [{"op": "add", "path": "foo/d", "value": "e"}] - result = r {r = json.patch(doc, patch)} -- note: jsonpatch/set-success basic-move - query: 'data.main.result.foo = x; data.main.result.bar = z' - want_result: - - x: - - b - z: - - a - - c - - d - modules: - - | - package main - doc = {"foo": {"a", "b"}, "bar": {"c", "d"}} - patch = [{"op": "move", "from": "foo/a", "path": "bar/a"}] - result = r {r = json.patch(doc, patch)} - sort_bindings: true -- note: jsonpatch/set-success add-to-nested-array - query: data.main.result = x - want_result: - - x: - - [1, 2] - modules: - - | - package main - doc = {[1]} - patch = [{"op": "add", "path": [[1], 1], "value": 2}] - result = r {r = json.patch(doc, patch)} + # Here are some tests that cover dealing with sets and json.patch, since that + # is not covered by the spec. + - note: jsonpatch/set-success basic-remove + query: data.main.result.foo = x + want_result: + - x: + - a + - c + modules: + - | + package main + doc = {"foo": {"a", "b", "c"}} + patch = [{"op": "remove", "path": "foo/b"}] + result = r {r = json.patch(doc, patch)} + sort_bindings: true + - note: jsonpatch/set-success basic-add + query: data.main.result.foo = x + want_result: + - x: + - a + - b + - c + - d + modules: + - | + package main + doc = {"foo": {"a", "b", "c"}} + patch = [{"op": "add", "path": "foo/d", "value": "d"}] + result = r {r = json.patch(doc, patch)} + sort_bindings: true + - note: jsonpatch/set-failure add-with-mismatched-key-value + query: data.main.result.foo = x + want_result: [] # value does not match key + modules: + - | + package main + doc = {"foo": {"a", "b", "c"}} + patch = [{"op": "add", "path": "foo/d", "value": "e"}] + result = r {r = json.patch(doc, patch)} + - note: jsonpatch/set-success basic-move + query: "data.main.result.foo = x; data.main.result.bar = z" + want_result: + - x: + - b + z: + - a + - c + - d + modules: + - | + package main + doc = {"foo": {"a", "b"}, "bar": {"c", "d"}} + patch = [{"op": "move", "from": "foo/a", "path": "bar/a"}] + result = r {r = json.patch(doc, patch)} + sort_bindings: true + - note: jsonpatch/set-success add-to-nested-array + query: data.main.result = x + want_result: + - x: + - [1, 2] + modules: + - | + package main + doc = {[1]} + patch = [{"op": "add", "path": [[1], 1], "value": 2}] + result = r {r = json.patch(doc, patch)} diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0230.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0230.yaml index 1ca3caa61f..531c3761de 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0230.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0230.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a/b/c"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/base - query: data.generated.p = x - want_result: - - x: - a: - b: - d: 8 - e: 9 + p = __local0__ { + json.remove({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a/b/c"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/base + query: data.generated.p = x + want_result: + - x: + a: + b: + d: 8 + e: 9 diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0231.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0231.yaml index bd183a8a20..e59227fdef 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0231.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0231.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a/b/c", "e"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/multiple roots - query: data.generated.p = x - want_result: - - x: - a: - b: - d: 8 + p = __local0__ { + json.remove({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a/b/c", "e"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/multiple roots + query: data.generated.p = x + want_result: + - x: + a: + b: + d: 8 diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0232.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0232.yaml index 7ce37adf08..2a80c2abdd 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0232.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0232.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, ["a/b/c", "e"], __local1__) - __local0__ = __local1__ - } - note: jsonremove/multiple roots array - query: data.generated.p = x - want_result: - - x: - a: - b: - d: 8 + p = __local0__ { + json.remove({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, ["a/b/c", "e"], __local1__) + __local0__ = __local1__ + } + note: jsonremove/multiple roots array + query: data.generated.p = x + want_result: + - x: + a: + b: + d: 8 diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0233.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0233.yaml index 02ff9762f5..befed97d08 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0233.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0233.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": {"b": {"c": 7, "d": 8}, "e": 9}}, {"a/b/c", "a/e"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/shared roots - query: data.generated.p = x - want_result: - - x: - a: - b: - d: 8 + p = __local0__ { + json.remove({"a": {"b": {"c": 7, "d": 8}, "e": 9}}, {"a/b/c", "a/e"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/shared roots + query: data.generated.p = x + want_result: + - x: + a: + b: + d: 8 diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0234.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0234.yaml index bd7461a526..5f415e9ca1 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0234.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0234.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": {"b": 7}, "c": 1}, {"a", "a/b"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/conflict - query: data.generated.p = x - want_result: - - x: - c: 1 + p = __local0__ { + json.remove({"a": {"b": 7}, "c": 1}, {"a", "a/b"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/conflict + query: data.generated.p = x + want_result: + - x: + c: 1 diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0235.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0235.yaml index 3877044181..39a83a0e01 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0235.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0235.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": 7}, set(), __local1__) - __local0__ = __local1__ - } - note: jsonremove/empty list - query: data.generated.p = x - want_result: - - x: - a: 7 + p = __local0__ { + json.remove({"a": 7}, set(), __local1__) + __local0__ = __local1__ + } + note: jsonremove/empty list + query: data.generated.p = x + want_result: + - x: + a: 7 diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0236.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0236.yaml index 9565de84fb..2e704822e4 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0236.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0236.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({}, {"a/b"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/empty object - query: data.generated.p = x - want_result: - - x: {} + p = __local0__ { + json.remove({}, {"a/b"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/empty object + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0237.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0237.yaml index aca5f2af22..62a32bdbbd 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0237.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0237.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": {"b": 7}, "c": 1}, {"a", "c"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/delete all - query: data.generated.p = x - want_result: - - x: {} + p = __local0__ { + json.remove({"a": {"b": 7}, "c": 1}, {"a", "c"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/delete all + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0238.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0238.yaml index b5dcc3df16..90709e62f7 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0238.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0238.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": {"b": 7}, "c": 1}, {"a/b", "c"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/delete last in object - query: data.generated.p = x - want_result: - - x: - a: {} + p = __local0__ { + json.remove({"a": {"b": 7}, "c": 1}, {"a/b", "c"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/delete last in object + query: data.generated.p = x + want_result: + - x: + a: {} diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0239.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0239.yaml index 543e39cbb8..f8bf6f701e 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0239.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0239.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": [{"b": 7, "c": 8}, {"d": 9}]}, {"a/0/b", "a/1"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/arrays - query: data.generated.p = x - want_result: - - x: - a: - - c: 8 + p = __local0__ { + json.remove({"a": [{"b": 7, "c": 8}, {"d": 9}]}, {"a/0/b", "a/1"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/arrays + query: data.generated.p = x + want_result: + - x: + a: + - c: 8 diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0240.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0240.yaml index 747002d1f4..1994e1e89b 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0240.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0240.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": [{"1": ["b", "c", "d"]}, {"x": "y"}]}, {"a/0/1/2"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/object with number keys - query: data.generated.p = x - want_result: - - x: - a: - - "1": - - b - - c - - x: "y" + p = __local0__ { + json.remove({"a": [{"1": ["b", "c", "d"]}, {"x": "y"}]}, {"a/0/1/2"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/object with number keys + query: data.generated.p = x + want_result: + - x: + a: + - "1": + - b + - c + - x: "y" diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0241.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0241.yaml index 87a364b01f..ee6e155fc6 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0241.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0241.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {["a", "b", "c"], ["e"]}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/arrays of roots - query: data.generated.p = x - want_result: - - x: - a: - b: - d: 8 + p = __local0__ { + json.remove({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {["a", "b", "c"], ["e"]}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/arrays of roots + query: data.generated.p = x + want_result: + - x: + a: + b: + d: 8 diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0242.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0242.yaml index 7e0b36c470..f5468fd595 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0242.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0242.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - json.remove({"a": {"b": {"c": 7, "d": 8, "x": 0}}, "e": 9}, {"a/b/d", ["a", "b", "c"]}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/mixed root types - query: data.generated.p = x - want_result: - - x: - a: - b: - x: 0 - e: 9 + p = __local0__ { + json.remove({"a": {"b": {"c": 7, "d": 8, "x": 0}}, "e": 9}, {"a/b/d", ["a", "b", "c"]}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/mixed root types + query: data.generated.p = x + want_result: + - x: + a: + b: + x: 0 + e: 9 diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0243.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0243.yaml index cf9b259fba..24b2e2f812 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0243.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0243.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - input_term: '{"x": "foo"}' - modules: - - | - package generated + - data: + input_term: '{"x": "foo"}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove(__local2__, {"a/b/c"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid target type string input - query: data.generated.p = x - want_error: 'json.remove: operand 1 must be object but got string' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove(__local2__, {"a/b/c"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid target type string input + query: data.generated.p = x + want_error: "json.remove: operand 1 must be object but got string" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0244.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0244.yaml index ac924e0574..faea9a381e 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0244.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0244.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": 22}' - modules: - - | - package generated + - data: {} + input_term: '{"x": 22}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove(__local2__, {"a/b/c"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid target type number input - query: data.generated.p = x - want_error: 'json.remove: operand 1 must be object but got number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove(__local2__, {"a/b/c"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid target type number input + query: data.generated.p = x + want_error: "json.remove: operand 1 must be object but got number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0245.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0245.yaml index ff3ab65eb5..6a6e62ca49 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0245.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0245.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": true}' - modules: - - | - package generated + - data: {} + input_term: '{"x": true}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove(__local2__, {"a/b/c"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid target type boolean input - query: data.generated.p = x - want_error: 'json.remove: operand 1 must be object but got boolean' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove(__local2__, {"a/b/c"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid target type boolean input + query: data.generated.p = x + want_error: "json.remove: operand 1 must be object but got boolean" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0246.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0246.yaml index b86214e854..13624cc0e1 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0246.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0246.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": ["a", "b", "c"]}' - modules: - - | - package generated + - data: {} + input_term: '{"x": ["a", "b", "c"]}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove(__local2__, {"a/b/c"}, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid target type array input - query: data.generated.p = x - want_error: 'json.remove: operand 1 must be object but got array' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove(__local2__, {"a/b/c"}, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid target type array input + query: data.generated.p = x + want_error: "json.remove: operand 1 must be object but got array" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0247.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0247.yaml index 6a219d6185..c44f30a3f5 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0247.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0247.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": "foo"}' - modules: - - | - package generated + - data: {} + input_term: '{"x": "foo"}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid paths type string - query: data.generated.p = x - want_error: 'json.remove: operand 2 must be one of {set, array} but got string' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid paths type string + query: data.generated.p = x + want_error: "json.remove: operand 2 must be one of {set, array} but got string" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0248.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0248.yaml index ae5b037b1b..eb72c930f1 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0248.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0248.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": 22}' - modules: - - | - package generated + - data: {} + input_term: '{"x": 22}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid paths type number - query: data.generated.p = x - want_error: 'json.remove: operand 2 must be one of {set, array} but got number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid paths type number + query: data.generated.p = x + want_error: "json.remove: operand 2 must be one of {set, array} but got number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0249.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0249.yaml index 14fad03edd..fd585a06b5 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0249.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0249.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": true}' - modules: - - | - package generated + - data: {} + input_term: '{"x": true}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid paths type boolean - query: data.generated.p = x - want_error: 'json.remove: operand 2 must be one of {set, array} but got boolean' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid paths type boolean + query: data.generated.p = x + want_error: "json.remove: operand 2 must be one of {set, array} but got boolean" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0250.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0250.yaml index 69ca2768ca..f8c7fc6bbc 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0250.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0250.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": {"y": 123}}' - modules: - - | - package generated + - data: {} + input_term: '{"x": {"y": 123}}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid paths type object - query: data.generated.p = x - want_error: 'json.remove: operand 2 must be one of {set, array} but got object' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid paths type object + query: data.generated.p = x + want_error: "json.remove: operand 2 must be one of {set, array} but got object" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0251.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0251.yaml index 6b2b829997..eb1e8e2623 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0251.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0251.yaml @@ -1,18 +1,20 @@ +--- cases: -- data: {} - input_term: '{"x": {1, 2, 3, "a"}}' - modules: - - | - package generated + - data: {} + input_term: '{"x": {1, 2, 3, "a"}}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid paths type set with numbers - query: data.generated.p = x - want_error: 'json.remove: operand 2 must be one of {set, array} containing string - paths or array of path segments but got number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid paths type set with numbers + query: data.generated.p = x + want_error: + "json.remove: operand 2 must be one of {set, array} containing string + paths or array of path segments but got number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0252.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0252.yaml index 9c56b8f442..a8fa2a6f9d 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0252.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0252.yaml @@ -1,18 +1,20 @@ +--- cases: -- data: {} - input_term: '{"x": {"a", {"x": 1}, {"y": 2}}}' - modules: - - | - package generated + - data: {} + input_term: '{"x": {"a", {"x": 1}, {"y": 2}}}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid paths type set with objects - query: data.generated.p = x - want_error: 'json.remove: operand 2 must be one of {set, array} containing string - paths or array of path segments but got object' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid paths type set with objects + query: data.generated.p = x + want_error: + "json.remove: operand 2 must be one of {set, array} containing string + paths or array of path segments but got object" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0253.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0253.yaml index d5354ffa33..d57b6cd0fe 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0253.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0253.yaml @@ -1,18 +1,20 @@ +--- cases: -- data: - input_term: '{"x": ["a", 1, 2, 3]}' - modules: - - | - package generated + - data: + input_term: '{"x": ["a", 1, 2, 3]}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid paths type array with numbers - query: data.generated.p = x - want_error: 'json.remove: operand 2 must be one of {set, array} containing string - paths or array of path segments but got number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid paths type array with numbers + query: data.generated.p = x + want_error: + "json.remove: operand 2 must be one of {set, array} containing string + paths or array of path segments but got number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremove/test-jsonremove-0254.yaml b/test/cases/testdata/jsonremove/test-jsonremove-0254.yaml index 020e5099f9..4e6028bc18 100644 --- a/test/cases/testdata/jsonremove/test-jsonremove-0254.yaml +++ b/test/cases/testdata/jsonremove/test-jsonremove-0254.yaml @@ -1,18 +1,20 @@ +--- cases: -- data: {} - input_term: '{"x": ["a", {"x": 1}, {"y": 2}]}' - modules: - - | - package generated + - data: {} + input_term: '{"x": ["a", {"x": 1}, {"y": 2}]}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) - __local0__ = __local1__ - } - note: jsonremove/error invalid paths type array with objects - query: data.generated.p = x - want_error: 'json.remove: operand 2 must be one of {set, array} containing string - paths or array of path segments but got object' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + json.remove({"a": {"b": {"c": 123}}}, __local2__, __local1__) + __local0__ = __local1__ + } + note: jsonremove/error invalid paths type array with objects + query: data.generated.p = x + want_error: + "json.remove: operand 2 must be one of {set, array} containing string + paths or array of path segments but got object" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/jsonremoveidempotent/test-jsonremoveidempotent-0255.yaml b/test/cases/testdata/jsonremoveidempotent/test-jsonremoveidempotent-0255.yaml index bbfe544fa5..38921eb84f 100644 --- a/test/cases/testdata/jsonremoveidempotent/test-jsonremoveidempotent-0255.yaml +++ b/test/cases/testdata/jsonremoveidempotent/test-jsonremoveidempotent-0255.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - __local0__ = {"a": {"b": 2, "c": 3}} - json.remove(__local0__, {"a"}, __local1__) - __local1__ = {} - json.remove(__local0__, {"a/b"}, __local2__) - __local2__ = {"a": {"c": 3}} - json.remove(__local0__, {"a/c"}, __local3__) - __local3__ = {"a": {"b": 2}} - __local0__ = {"a": {"b": 2, "c": 3}} - } - note: jsonremoveidempotent/TestBuiltinJSONRemoveIdempotent - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = {"a": {"b": 2, "c": 3}} + json.remove(__local0__, {"a"}, __local1__) + __local1__ = {} + json.remove(__local0__, {"a/b"}, __local2__) + __local2__ = {"a": {"c": 3}} + json.remove(__local0__, {"a/c"}, __local3__) + __local3__ = {"a": {"b": 2}} + __local0__ = {"a": {"b": 2, "c": 3}} + } + note: jsonremoveidempotent/TestBuiltinJSONRemoveIdempotent + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jsonschema/test-json-match_schema.yaml b/test/cases/testdata/jsonschema/test-json-match_schema.yaml index f5f85d9ce5..c40ea051e2 100644 --- a/test/cases/testdata/jsonschema/test-json-match_schema.yaml +++ b/test/cases/testdata/jsonschema/test-json-match_schema.yaml @@ -1,9 +1,10 @@ +--- cases: - note: json_match_schema/success modules: - | package test - + document := {"id": 5} schema := { "properties": { @@ -16,7 +17,7 @@ cases: p := json.match_schema(document, schema) query: data.test.p = x want_result: - - x: [ true, [ ] ] + - x: [true, []] - note: json_match_schema/success string document modules: - | @@ -34,7 +35,7 @@ cases: p := json.match_schema(document, schema) query: data.test.p = x want_result: - - x: [ true, [ ] ] + - x: [true, []] - note: json_match_schema/success string schema modules: - | @@ -52,7 +53,7 @@ cases: p := json.match_schema(document, schema) query: data.test.p = x want_result: - - x: [ true, [ ] ] + - x: [true, []] - note: json_match_schema/invalid document modules: - | @@ -70,12 +71,18 @@ cases: p := json.match_schema(document, schema) query: data.test.p = x want_result: - - x: [ false, [ { - "desc": "Invalid type. Expected: integer, given: string", - "error": "id: Invalid type. Expected: integer, given: string", - "field": "id", - "type": "invalid_type" - } ] ] + - x: + [ + false, + [ + { + "desc": "Invalid type. Expected: integer, given: string", + "error": "id: Invalid type. Expected: integer, given: string", + "field": "id", + "type": "invalid_type", + }, + ], + ] - note: json_match_schema/invalid schema modules: - | @@ -93,5 +100,5 @@ cases: p := json.match_schema(document, schema) query: data.test.p = x strict_error: true - want_error: 'json.match_schema: has a primitive type that is NOT VALID -- given: /unknown/ Expected valid values are:[array boolean integer number null object string]' - want_error_code: eval_builtin_error \ No newline at end of file + want_error: "json.match_schema: has a primitive type that is NOT VALID -- given: /unknown/ Expected valid values are:[array boolean integer number null object string]" + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jsonschema/test-json-verify_schema.yaml b/test/cases/testdata/jsonschema/test-json-verify_schema.yaml index 03d605723f..3475fcb162 100644 --- a/test/cases/testdata/jsonschema/test-json-verify_schema.yaml +++ b/test/cases/testdata/jsonschema/test-json-verify_schema.yaml @@ -1,24 +1,25 @@ +--- cases: - note: json_verify_schema/valid schema string modules: - | package test - + schema := `{"type": "boolean"}` p := json.verify_schema(schema) query: data.test.p = x want_result: - - x: [ true, null ] + - x: [true, null] - note: json_verify_schema/valid schema object modules: - | package test - + schema := {"type": "boolean"} p := json.verify_schema(schema) query: data.test.p = x want_result: - - x: [ true, null ] + - x: [true, null] - note: json_verify_schema/invalid schema string modules: - | @@ -28,7 +29,11 @@ cases: p := json.verify_schema(schema) query: data.test.p = x want_result: - - x: [ false, "jsonschema: has a primitive type that is NOT VALID -- given: /unknown_type/ Expected valid values are:[array boolean integer number null object string]" ] + - x: + [ + false, + "jsonschema: has a primitive type that is NOT VALID -- given: /unknown_type/ Expected valid values are:[array boolean integer number null object string]", + ] - note: json_verify_schema/invalid schema object modules: - | @@ -38,4 +43,8 @@ cases: p := json.verify_schema(schema) query: data.test.p = x want_result: - - x: [ false, "jsonschema: has a primitive type that is NOT VALID -- given: /unknown_type/ Expected valid values are:[array boolean integer number null object string]" ] \ No newline at end of file + - x: + [ + false, + "jsonschema: has a primitive type that is NOT VALID -- given: /unknown_type/ Expected valid values are:[array boolean integer number null object string]", + ] diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0389.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0389.yaml index 61f03aa88f..9b79f57427 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0389.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0389.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwIiwiaXNzIjoib3BhIn0.XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) - } - note: jwtbuiltins/simple - query: data.generated.p = x - want_result: - - x: - - alg: HS256 - typ: JWT - - iss: opa - sub: '0' - - 5e65682e81c8de9c4cb4c3bf59138d3122731940cff690e3cbc269d3fb5d4576 + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwIiwiaXNzIjoib3BhIn0.XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) + } + note: jwtbuiltins/simple + query: data.generated.p = x + want_result: + - x: + - alg: HS256 + typ: JWT + - iss: opa + sub: "0" + - 5e65682e81c8de9c4cb4c3bf59138d3122731940cff690e3cbc269d3fb5d4576 diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0390.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0390.yaml index 08a1b3ec2d..79fdce567b 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0390.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0390.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuZXciOiJJIGFtIGEgdXNlciBjcmVhdGVkIGZpZWxkIiwiaXNzIjoib3BhIn0.6UmjsclVDGD9jcmX_F8RJzVgHtUZuLu2pxkF_UEQCrE", [x, y, z]) - } - note: jwtbuiltins/simple-non-registered - query: data.generated.p = x - want_result: - - x: - - alg: HS256 - typ: JWT - - iss: opa - new: I am a user created field - - e949a3b1c9550c60fd8dc997fc5f112735601ed519b8bbb6a71905fd41100ab1 + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuZXciOiJJIGFtIGEgdXNlciBjcmVhdGVkIGZpZWxkIiwiaXNzIjoib3BhIn0.6UmjsclVDGD9jcmX_F8RJzVgHtUZuLu2pxkF_UEQCrE", [x, y, z]) + } + note: jwtbuiltins/simple-non-registered + query: data.generated.p = x + want_result: + - x: + - alg: HS256 + typ: JWT + - iss: opa + new: I am a user created field + - e949a3b1c9550c60fd8dc997fc5f112735601ed519b8bbb6a71905fd41100ab1 diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0391.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0391.yaml index b9533a6bfc..7392afc03f 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0391.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0391.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImVuYyI6ImJsYWgifQ.eyJuZXciOiJJIGFtIGEgdXNlciBjcmVhdGVkIGZpZWxkIiwiaXNzIjoib3BhIn0.McGUb1e-UviZKy6UyQErNNQzEUgeV25Buwk7OHOa8U8", [x, y, z]) - } - note: jwtbuiltins/no-support-jwe - query: data.generated.p = x - strict_error: true - want_error: JWT is a JWE object, which is not supported - want_error_code: eval_builtin_error + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImVuYyI6ImJsYWgifQ.eyJuZXciOiJJIGFtIGEgdXNlciBjcmVhdGVkIGZpZWxkIiwiaXNzIjoib3BhIn0.McGUb1e-UviZKy6UyQErNNQzEUgeV25Buwk7OHOa8U8", [x, y, z]) + } + note: jwtbuiltins/no-support-jwe + query: data.generated.p = x + strict_error: true + want_error: JWT is a JWE object, which is not supported + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0392.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0392.yaml index 072498e860..9f72ce0b46 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0392.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0392.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9eyJzdWIiOiIwIiwiaXNzIjoib3BhIn0XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) - } - note: jwtbuiltins/no-periods - query: data.generated.p = x - strict_error: true - want_error: encoded JWT had no period separators - want_error_code: eval_builtin_error + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9eyJzdWIiOiIwIiwiaXNzIjoib3BhIn0XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) + } + note: jwtbuiltins/no-periods + query: data.generated.p = x + strict_error: true + want_error: encoded JWT had no period separators + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0393.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0393.yaml index 2388c6dfe3..2589ef3619 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0393.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0393.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV.CJ9eyJzdWIiOiIwIiwiaXNzIjoib3BhIn0XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) - } - note: jwtbuiltins/wrong-period-count - query: data.generated.p = x - strict_error: true - want_error: encoded JWT must have 3 sections, found 2 - want_error_code: eval_builtin_error + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV.CJ9eyJzdWIiOiIwIiwiaXNzIjoib3BhIn0XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) + } + note: jwtbuiltins/wrong-period-count + query: data.generated.p = x + strict_error: true + want_error: encoded JWT must have 3 sections, found 2 + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0394.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0394.yaml index 513c0c0e22..944f78e13f 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0394.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0394.yaml @@ -1,15 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIU^%zI1NiI+sInR5cCI6IkpXVCJ9.eyJzdWIiOiIwIiwiaXNzIjoib3BhIn0.XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) - } - note: jwtbuiltins/bad-header-encoding - query: data.generated.p = x - strict_error: true - want_error: 'JWT header had invalid encoding: illegal base64 data at input byte - 13' - want_error_code: eval_builtin_error + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIU^%zI1NiI+sInR5cCI6IkpXVCJ9.eyJzdWIiOiIwIiwiaXNzIjoib3BhIn0.XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) + } + note: jwtbuiltins/bad-header-encoding + query: data.generated.p = x + strict_error: true + want_error: + "JWT header had invalid encoding: illegal base64 data at input byte + 13" + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0395.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0395.yaml index 3e200b76a2..efcb53fa76 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0395.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0395.yaml @@ -1,15 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwIiwia/XNzIjoib3BhIn0.XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) - } - note: jwtbuiltins/bad-payload-encoding - query: data.generated.p = x - strict_error: true - want_error: 'JWT payload had invalid encoding: illegal base64 data at input byte - 17' - want_error_code: eval_builtin_error + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwIiwia/XNzIjoib3BhIn0.XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) + } + note: jwtbuiltins/bad-payload-encoding + query: data.generated.p = x + strict_error: true + want_error: + "JWT payload had invalid encoding: illegal base64 data at input byte + 17" + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0396.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0396.yaml index 268db03a0e..60d0b6e65b 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0396.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0396.yaml @@ -1,15 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwIiwiaXNzIjoib3BhIn0.XmVoLoHI3pxMtMO(_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) - } - note: jwtbuiltins/bad-signature-encoding - query: data.generated.p = x - strict_error: true - want_error: 'JWT signature had invalid encoding: illegal base64 data at input byte - 15' - want_error_code: eval_builtin_error + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwIiwiaXNzIjoib3BhIn0.XmVoLoHI3pxMtMO(_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) + } + note: jwtbuiltins/bad-signature-encoding + query: data.generated.p = x + strict_error: true + want_error: + "JWT signature had invalid encoding: illegal base64 data at input byte + 15" + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0397.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0397.yaml index b9aabaece1..b3a5c38922 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0397.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0397.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.ImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUp6ZFdJaU9pSXdJaXdpYVhOeklqb2liM0JoSW4wLlhtVm9Mb0hJM3B4TXRNT19XUk9OTVNKekdVRFA5cERqeThKcDBfdGRSWFki.8W0qx4mLxslmZl7wEMUWBxH7tST3XsEuWXxesXqFnRI", [x, y, z]) - } - note: jwtbuiltins/nested - query: data.generated.p = x - want_result: - - x: - - alg: HS256 - typ: JWT - - iss: opa - sub: '0' - - 5e65682e81c8de9c4cb4c3bf59138d3122731940cff690e3cbc269d3fb5d4576 + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.ImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUp6ZFdJaU9pSXdJaXdpYVhOeklqb2liM0JoSW4wLlhtVm9Mb0hJM3B4TXRNT19XUk9OTVNKekdVRFA5cERqeThKcDBfdGRSWFki.8W0qx4mLxslmZl7wEMUWBxH7tST3XsEuWXxesXqFnRI", [x, y, z]) + } + note: jwtbuiltins/nested + query: data.generated.p = x + want_result: + - x: + - alg: HS256 + typ: JWT + - iss: opa + sub: "0" + - 5e65682e81c8de9c4cb4c3bf59138d3122731940cff690e3cbc269d3fb5d4576 diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0398.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0398.yaml index 28673b2092..708956dd5e 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0398.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0398.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.ImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNJc0ltTjBlU0k2SWtwWFZDSjkuSW1WNVNtaGlSMk5wVDJsS1NWVjZTVEZPYVVselNXNVNOV05EU1RaSmEzQllWa05LT1M1bGVVcDZaRmRKYVU5cFNYZEphWGRwWVZoT2VrbHFiMmxpTTBKb1NXNHdMbGh0Vm05TWIwaEpNM0I0VFhSTlQxOVhVazlPVFZOS2VrZFZSRkE1Y0VScWVUaEtjREJmZEdSU1dGa2kuOFcwcXg0bUx4c2xtWmw3d0VNVVdCeEg3dFNUM1hzRXVXWHhlc1hxRm5SSSI.U8rwnGAJ-bJoGrAYKEzNtbJQWd3x1eW0Y25nLKHDCgo", [x, y, z]) - } - note: jwtbuiltins/double-nested - query: data.generated.p = x - want_result: - - x: - - alg: HS256 - typ: JWT - - iss: opa - sub: '0' - - 5e65682e81c8de9c4cb4c3bf59138d3122731940cff690e3cbc269d3fb5d4576 + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.ImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNJc0ltTjBlU0k2SWtwWFZDSjkuSW1WNVNtaGlSMk5wVDJsS1NWVjZTVEZPYVVselNXNVNOV05EU1RaSmEzQllWa05LT1M1bGVVcDZaRmRKYVU5cFNYZEphWGRwWVZoT2VrbHFiMmxpTTBKb1NXNHdMbGh0Vm05TWIwaEpNM0I0VFhSTlQxOVhVazlPVFZOS2VrZFZSRkE1Y0VScWVUaEtjREJmZEdSU1dGa2kuOFcwcXg0bUx4c2xtWmw3d0VNVVdCeEg3dFNUM1hzRXVXWHhlc1hxRm5SSSI.U8rwnGAJ-bJoGrAYKEzNtbJQWd3x1eW0Y25nLKHDCgo", [x, y, z]) + } + note: jwtbuiltins/double-nested + query: data.generated.p = x + want_result: + - x: + - alg: HS256 + typ: JWT + - iss: opa + sub: "0" + - 5e65682e81c8de9c4cb4c3bf59138d3122731940cff690e3cbc269d3fb5d4576 diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0399.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0399.yaml index bc03d1e079..882a9e4a05 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0399.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0399.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwIiwiaXNzIjoib3BhIiwiZXh0Ijp7ImFiYyI6IjEyMyIsImNiYSI6WzEwLCIxMCJdfX0.IIxF-uJ6i4K5Dj71xNLnUeqB9jmujl6ujTInhii1PxE", [x, y, z]) - } - note: jwtbuiltins/complex-values - query: data.generated.p = x - want_result: - - x: - - alg: HS256 - typ: JWT - - ext: - abc: '123' - cba: - - 10 - - '10' - iss: opa - sub: '0' - - 208c45fae27a8b82b90e3ef5c4d2e751ea81f639ae8e5eae8d32278628b53f11 + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwIiwiaXNzIjoib3BhIiwiZXh0Ijp7ImFiYyI6IjEyMyIsImNiYSI6WzEwLCIxMCJdfX0.IIxF-uJ6i4K5Dj71xNLnUeqB9jmujl6ujTInhii1PxE", [x, y, z]) + } + note: jwtbuiltins/complex-values + query: data.generated.p = x + want_result: + - x: + - alg: HS256 + typ: JWT + - ext: + abc: "123" + cba: + - 10 + - "10" + iss: opa + sub: "0" + - 208c45fae27a8b82b90e3ef5c4d2e751ea81f639ae8e5eae8d32278628b53f11 diff --git a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0400.yaml b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0400.yaml index 17e3b3ee39..e687430c99 100644 --- a/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0400.yaml +++ b/test/cases/testdata/jwtbuiltins/test-jwtbuiltins-0400.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiAiMCIsImlzcyI6ICJub3Qgb3BhIiwgImlzcyI6ICJhbHNvIG5vdCBvcGEiLCAiaXNzIjogIm9wYSJ9.XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) - } - note: jwtbuiltins/duplicate-keys - query: data.generated.p = x - want_result: - - x: - - alg: HS256 - typ: JWT - - iss: opa - sub: '0' - - 5e65682e81c8de9c4cb4c3bf59138d3122731940cff690e3cbc269d3fb5d4576 + p = [x, y, z] { + io.jwt.decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiAiMCIsImlzcyI6ICJub3Qgb3BhIiwgImlzcyI6ICJhbHNvIG5vdCBvcGEiLCAiaXNzIjogIm9wYSJ9.XmVoLoHI3pxMtMO_WRONMSJzGUDP9pDjy8Jp0_tdRXY", [x, y, z]) + } + note: jwtbuiltins/duplicate-keys + query: data.generated.p = x + want_result: + - x: + - alg: HS256 + typ: JWT + - iss: opa + sub: "0" + - 5e65682e81c8de9c4cb4c3bf59138d3122731940cff690e3cbc269d3fb5d4576 diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0449.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0449.yaml index d16e5bb063..68de917b31 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0449.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0449.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/ps256-unconstrained - query: data.generated.p = x - want_result: - - x: - - true - - alg: PS256 - typ: JWT - - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/ps256-unconstrained + query: data.generated.p = x + want_result: + - x: + - true + - alg: PS256 + typ: JWT + - iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0450.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0450.yaml index 6c42a2feea..abe03c7404 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0450.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0450.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/ps256-key-wrong - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/ps256-key-wrong + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0451.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0451.yaml index 509bc6d449..44258d10eb 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0451.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0451.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImV4cCI6IDMwMDB9.hqDP3AzshNhUZMI02U3nLPrj93QFrgs-74XFrF1Vry2bplrz-NKpdVdfTu8iY_bhmkWf2Om5DdwRZj2ZgpGahtnshnHaRq0RyqF-m3Y7oNj6JL_YMwgxsFIIHtBlagBqDU-gZK99iqSOSGqVhvxqX6gCqFgE7vnEGHeeDedtRM53coAJuwzy8rQV9m3TewoofPdPasGv-dBLQZ3qgmnibkSgb7SmFpjXBy8zL3xJXOZhAHYlgcmcEoFVaWlBguIcWA87WZlpCLYcdYTJzSZweC3QLUhZ4RLJW84-LMKp6xWLLPrp3OgnsduB2G9PYMmYw_qCkuY1KGwfH4PvCQbAzQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rs256-key-wrong - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImV4cCI6IDMwMDB9.hqDP3AzshNhUZMI02U3nLPrj93QFrgs-74XFrF1Vry2bplrz-NKpdVdfTu8iY_bhmkWf2Om5DdwRZj2ZgpGahtnshnHaRq0RyqF-m3Y7oNj6JL_YMwgxsFIIHtBlagBqDU-gZK99iqSOSGqVhvxqX6gCqFgE7vnEGHeeDedtRM53coAJuwzy8rQV9m3TewoofPdPasGv-dBLQZ3qgmnibkSgb7SmFpjXBy8zL3xJXOZhAHYlgcmcEoFVaWlBguIcWA87WZlpCLYcdYTJzSZweC3QLUhZ4RLJW84-LMKp6xWLLPrp3OgnsduB2G9PYMmYw_qCkuY1KGwfH4PvCQbAzQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rs256-key-wrong + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0452.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0452.yaml index 01d21d4b4d..ab604fc4be 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0452.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0452.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "iss": "xxx"}, [x, y, z]) - } - note: jwtdecodeverify/ps256-iss-ok - query: data.generated.p = x - want_result: - - x: - - true - - alg: PS256 - typ: JWT - - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "iss": "xxx"}, [x, y, z]) + } + note: jwtdecodeverify/ps256-iss-ok + query: data.generated.p = x + want_result: + - x: + - true + - alg: PS256 + typ: JWT + - iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0453.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0453.yaml index 172d7f2fca..24f12b09a3 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0453.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0453.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "iss": "yyy"}, [x, y, z]) - } - note: jwtdecodeverify/ps256-iss-wrong - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "iss": "yyy"}, [x, y, z]) + } + note: jwtdecodeverify/ps256-iss-wrong + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0454.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0454.yaml index 0a2b02fb48..d8478180d5 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0454.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0454.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"alg": "PS256", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/ps256-alg-ok - query: data.generated.p = x - want_result: - - x: - - true - - alg: PS256 - typ: JWT - - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"alg": "PS256", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/ps256-alg-ok + query: data.generated.p = x + want_result: + - x: + - true + - alg: PS256 + typ: JWT + - iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0455.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0455.yaml index d2db64cb9c..6108b3ac69 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0455.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0455.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"alg": "RS256", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/ps256-alg-wrong - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"alg": "RS256", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/ps256-alg-wrong + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0456.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0456.yaml index 18adc4a3f9..5f26819e8b 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0456.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0456.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImV4cCI6IDMwMDB9.hqDP3AzshNhUZMI02U3nLPrj93QFrgs-74XFrF1Vry2bplrz-NKpdVdfTu8iY_bhmkWf2Om5DdwRZj2ZgpGahtnshnHaRq0RyqF-m3Y7oNj6JL_YMwgxsFIIHtBlagBqDU-gZK99iqSOSGqVhvxqX6gCqFgE7vnEGHeeDedtRM53coAJuwzy8rQV9m3TewoofPdPasGv-dBLQZ3qgmnibkSgb7SmFpjXBy8zL3xJXOZhAHYlgcmcEoFVaWlBguIcWA87WZlpCLYcdYTJzSZweC3QLUhZ4RLJW84-LMKp6xWLLPrp3OgnsduB2G9PYMmYw_qCkuY1KGwfH4PvCQbAzQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "time": 2000000000000}, [x, y, z]) - } - note: jwtdecodeverify/rs256-exp-ok - query: data.generated.p = x - want_result: - - x: - - true - - alg: RS256 - typ: JWT - - exp: 3000 - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImV4cCI6IDMwMDB9.hqDP3AzshNhUZMI02U3nLPrj93QFrgs-74XFrF1Vry2bplrz-NKpdVdfTu8iY_bhmkWf2Om5DdwRZj2ZgpGahtnshnHaRq0RyqF-m3Y7oNj6JL_YMwgxsFIIHtBlagBqDU-gZK99iqSOSGqVhvxqX6gCqFgE7vnEGHeeDedtRM53coAJuwzy8rQV9m3TewoofPdPasGv-dBLQZ3qgmnibkSgb7SmFpjXBy8zL3xJXOZhAHYlgcmcEoFVaWlBguIcWA87WZlpCLYcdYTJzSZweC3QLUhZ4RLJW84-LMKp6xWLLPrp3OgnsduB2G9PYMmYw_qCkuY1KGwfH4PvCQbAzQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "time": 2000000000000}, [x, y, z]) + } + note: jwtdecodeverify/rs256-exp-ok + query: data.generated.p = x + want_result: + - x: + - true + - alg: RS256 + typ: JWT + - exp: 3000 + iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0457.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0457.yaml index 7f76a9ac2a..3648c58157 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0457.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0457.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImV4cCI6IDMwMDB9.hqDP3AzshNhUZMI02U3nLPrj93QFrgs-74XFrF1Vry2bplrz-NKpdVdfTu8iY_bhmkWf2Om5DdwRZj2ZgpGahtnshnHaRq0RyqF-m3Y7oNj6JL_YMwgxsFIIHtBlagBqDU-gZK99iqSOSGqVhvxqX6gCqFgE7vnEGHeeDedtRM53coAJuwzy8rQV9m3TewoofPdPasGv-dBLQZ3qgmnibkSgb7SmFpjXBy8zL3xJXOZhAHYlgcmcEoFVaWlBguIcWA87WZlpCLYcdYTJzSZweC3QLUhZ4RLJW84-LMKp6xWLLPrp3OgnsduB2G9PYMmYw_qCkuY1KGwfH4PvCQbAzQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "time": 4000000000000}, [x, y, z]) - } - note: jwtdecodeverify/rs256-exp-expired - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImV4cCI6IDMwMDB9.hqDP3AzshNhUZMI02U3nLPrj93QFrgs-74XFrF1Vry2bplrz-NKpdVdfTu8iY_bhmkWf2Om5DdwRZj2ZgpGahtnshnHaRq0RyqF-m3Y7oNj6JL_YMwgxsFIIHtBlagBqDU-gZK99iqSOSGqVhvxqX6gCqFgE7vnEGHeeDedtRM53coAJuwzy8rQV9m3TewoofPdPasGv-dBLQZ3qgmnibkSgb7SmFpjXBy8zL3xJXOZhAHYlgcmcEoFVaWlBguIcWA87WZlpCLYcdYTJzSZweC3QLUhZ4RLJW84-LMKp6xWLLPrp3OgnsduB2G9PYMmYw_qCkuY1KGwfH4PvCQbAzQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "time": 4000000000000}, [x, y, z]) + } + note: jwtdecodeverify/rs256-exp-expired + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0458.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0458.yaml index bba21a52ec..979bfc8e0a 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0458.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0458.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImV4cCI6IDMwMDB9.hqDP3AzshNhUZMI02U3nLPrj93QFrgs-74XFrF1Vry2bplrz-NKpdVdfTu8iY_bhmkWf2Om5DdwRZj2ZgpGahtnshnHaRq0RyqF-m3Y7oNj6JL_YMwgxsFIIHtBlagBqDU-gZK99iqSOSGqVhvxqX6gCqFgE7vnEGHeeDedtRM53coAJuwzy8rQV9m3TewoofPdPasGv-dBLQZ3qgmnibkSgb7SmFpjXBy8zL3xJXOZhAHYlgcmcEoFVaWlBguIcWA87WZlpCLYcdYTJzSZweC3QLUhZ4RLJW84-LMKp6xWLLPrp3OgnsduB2G9PYMmYw_qCkuY1KGwfH4PvCQbAzQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rs256-exp-now-expired - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImV4cCI6IDMwMDB9.hqDP3AzshNhUZMI02U3nLPrj93QFrgs-74XFrF1Vry2bplrz-NKpdVdfTu8iY_bhmkWf2Om5DdwRZj2ZgpGahtnshnHaRq0RyqF-m3Y7oNj6JL_YMwgxsFIIHtBlagBqDU-gZK99iqSOSGqVhvxqX6gCqFgE7vnEGHeeDedtRM53coAJuwzy8rQV9m3TewoofPdPasGv-dBLQZ3qgmnibkSgb7SmFpjXBy8zL3xJXOZhAHYlgcmcEoFVaWlBguIcWA87WZlpCLYcdYTJzSZweC3QLUhZ4RLJW84-LMKp6xWLLPrp3OgnsduB2G9PYMmYw_qCkuY1KGwfH4PvCQbAzQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rs256-exp-now-expired + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0459.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0459.yaml index 01a72e25b6..c20a5d9e48 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0459.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0459.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - now := time.now_ns() - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImV4cCI6IDMwMDB9.hqDP3AzshNhUZMI02U3nLPrj93QFrgs-74XFrF1Vry2bplrz-NKpdVdfTu8iY_bhmkWf2Om5DdwRZj2ZgpGahtnshnHaRq0RyqF-m3Y7oNj6JL_YMwgxsFIIHtBlagBqDU-gZK99iqSOSGqVhvxqX6gCqFgE7vnEGHeeDedtRM53coAJuwzy8rQV9m3TewoofPdPasGv-dBLQZ3qgmnibkSgb7SmFpjXBy8zL3xJXOZhAHYlgcmcEoFVaWlBguIcWA87WZlpCLYcdYTJzSZweC3QLUhZ4RLJW84-LMKp6xWLLPrp3OgnsduB2G9PYMmYw_qCkuY1KGwfH4PvCQbAzQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "time": now}, [x, y, z]) - } - note: jwtdecodeverify/rs256-exp-now-explicit-expired - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + now := time.now_ns() + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImV4cCI6IDMwMDB9.hqDP3AzshNhUZMI02U3nLPrj93QFrgs-74XFrF1Vry2bplrz-NKpdVdfTu8iY_bhmkWf2Om5DdwRZj2ZgpGahtnshnHaRq0RyqF-m3Y7oNj6JL_YMwgxsFIIHtBlagBqDU-gZK99iqSOSGqVhvxqX6gCqFgE7vnEGHeeDedtRM53coAJuwzy8rQV9m3TewoofPdPasGv-dBLQZ3qgmnibkSgb7SmFpjXBy8zL3xJXOZhAHYlgcmcEoFVaWlBguIcWA87WZlpCLYcdYTJzSZweC3QLUhZ4RLJW84-LMKp6xWLLPrp3OgnsduB2G9PYMmYw_qCkuY1KGwfH4PvCQbAzQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "time": now}, [x, y, z]) + } + note: jwtdecodeverify/rs256-exp-now-explicit-expired + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0460.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0460.yaml index 9ab0123504..d60cc31435 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0460.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0460.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJuYmYiOiAxMDAwLCAiaXNzIjogInh4eCJ9.cwwYDfJhU_ambPIpwBJwDek05miffoudprr41IAYsl0IKekb1ii2uEgwkNM-LJtVXHe9hsK3gANFyfqoJuCZIBvaNMx_3Z0BUdeBs4k1UwBiZCpuud0ofgHKURwvehNgqDvRfchq_-K_Agi2iRdl0oShgLjN-gVbBl8pRwUbQrvASlcsCpZIKUyOzXNtaIZEFh1z6ISDy8UHHOdoieKpN23swya7QAcEb0wXEEKMkkhiRd5QHgWLk37Lnw2K89mKcq4Om0CtV9nHrxxmpYGSMPojCy16Gjdg5-xKyJWvxCfb3YUBUVM4RWa7ICOPRJWPuHxu9pPYG63hb_qDU6NLsw", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "time": 2000000000000}, [x, y, z]) - } - note: jwtdecodeverify/rs256-nbf-ok - query: data.generated.p = x - want_result: - - x: - - true - - alg: RS256 - typ: JWT - - iss: xxx - nbf: 1000 + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJuYmYiOiAxMDAwLCAiaXNzIjogInh4eCJ9.cwwYDfJhU_ambPIpwBJwDek05miffoudprr41IAYsl0IKekb1ii2uEgwkNM-LJtVXHe9hsK3gANFyfqoJuCZIBvaNMx_3Z0BUdeBs4k1UwBiZCpuud0ofgHKURwvehNgqDvRfchq_-K_Agi2iRdl0oShgLjN-gVbBl8pRwUbQrvASlcsCpZIKUyOzXNtaIZEFh1z6ISDy8UHHOdoieKpN23swya7QAcEb0wXEEKMkkhiRd5QHgWLk37Lnw2K89mKcq4Om0CtV9nHrxxmpYGSMPojCy16Gjdg5-xKyJWvxCfb3YUBUVM4RWa7ICOPRJWPuHxu9pPYG63hb_qDU6NLsw", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "time": 2000000000000}, [x, y, z]) + } + note: jwtdecodeverify/rs256-nbf-ok + query: data.generated.p = x + want_result: + - x: + - true + - alg: RS256 + typ: JWT + - iss: xxx + nbf: 1000 diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0461.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0461.yaml index d1094c84f7..aa2f90c7f5 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0461.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0461.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJuYmYiOiAxMDAwLCAiaXNzIjogInh4eCJ9.cwwYDfJhU_ambPIpwBJwDek05miffoudprr41IAYsl0IKekb1ii2uEgwkNM-LJtVXHe9hsK3gANFyfqoJuCZIBvaNMx_3Z0BUdeBs4k1UwBiZCpuud0ofgHKURwvehNgqDvRfchq_-K_Agi2iRdl0oShgLjN-gVbBl8pRwUbQrvASlcsCpZIKUyOzXNtaIZEFh1z6ISDy8UHHOdoieKpN23swya7QAcEb0wXEEKMkkhiRd5QHgWLk37Lnw2K89mKcq4Om0CtV9nHrxxmpYGSMPojCy16Gjdg5-xKyJWvxCfb3YUBUVM4RWa7ICOPRJWPuHxu9pPYG63hb_qDU6NLsw", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rs256-nbf-now-ok - query: data.generated.p = x - want_result: - - x: - - true - - alg: RS256 - typ: JWT - - iss: xxx - nbf: 1000 + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJuYmYiOiAxMDAwLCAiaXNzIjogInh4eCJ9.cwwYDfJhU_ambPIpwBJwDek05miffoudprr41IAYsl0IKekb1ii2uEgwkNM-LJtVXHe9hsK3gANFyfqoJuCZIBvaNMx_3Z0BUdeBs4k1UwBiZCpuud0ofgHKURwvehNgqDvRfchq_-K_Agi2iRdl0oShgLjN-gVbBl8pRwUbQrvASlcsCpZIKUyOzXNtaIZEFh1z6ISDy8UHHOdoieKpN23swya7QAcEb0wXEEKMkkhiRd5QHgWLk37Lnw2K89mKcq4Om0CtV9nHrxxmpYGSMPojCy16Gjdg5-xKyJWvxCfb3YUBUVM4RWa7ICOPRJWPuHxu9pPYG63hb_qDU6NLsw", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rs256-nbf-now-ok + query: data.generated.p = x + want_result: + - x: + - true + - alg: RS256 + typ: JWT + - iss: xxx + nbf: 1000 diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0462.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0462.yaml index 562f281d2c..1f1f05a449 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0462.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0462.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJuYmYiOiAxMDAwLCAiaXNzIjogInh4eCJ9.cwwYDfJhU_ambPIpwBJwDek05miffoudprr41IAYsl0IKekb1ii2uEgwkNM-LJtVXHe9hsK3gANFyfqoJuCZIBvaNMx_3Z0BUdeBs4k1UwBiZCpuud0ofgHKURwvehNgqDvRfchq_-K_Agi2iRdl0oShgLjN-gVbBl8pRwUbQrvASlcsCpZIKUyOzXNtaIZEFh1z6ISDy8UHHOdoieKpN23swya7QAcEb0wXEEKMkkhiRd5QHgWLk37Lnw2K89mKcq4Om0CtV9nHrxxmpYGSMPojCy16Gjdg5-xKyJWvxCfb3YUBUVM4RWa7ICOPRJWPuHxu9pPYG63hb_qDU6NLsw", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "time": 500000000000}, [x, y, z]) - } - note: jwtdecodeverify/rs256-nbf-toosoon - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJuYmYiOiAxMDAwLCAiaXNzIjogInh4eCJ9.cwwYDfJhU_ambPIpwBJwDek05miffoudprr41IAYsl0IKekb1ii2uEgwkNM-LJtVXHe9hsK3gANFyfqoJuCZIBvaNMx_3Z0BUdeBs4k1UwBiZCpuud0ofgHKURwvehNgqDvRfchq_-K_Agi2iRdl0oShgLjN-gVbBl8pRwUbQrvASlcsCpZIKUyOzXNtaIZEFh1z6ISDy8UHHOdoieKpN23swya7QAcEb0wXEEKMkkhiRd5QHgWLk37Lnw2K89mKcq4Om0CtV9nHrxxmpYGSMPojCy16Gjdg5-xKyJWvxCfb3YUBUVM4RWa7ICOPRJWPuHxu9pPYG63hb_qDU6NLsw", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", "time": 500000000000}, [x, y, z]) + } + note: jwtdecodeverify/rs256-nbf-toosoon + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0463.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0463.yaml index e600a753b9..30e013aea0 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0463.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0463.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJ0eXAiOiAiSldUIiwgImtpZCI6ICJrMSJ9.eyJpc3MiOiAieHh4IiwgInN1YiI6ICJmcmVkIn0.J4J4FgUD_P5fviVVjgvQWJDg-5XYTP_tHCwB3kSlYVKv8vmnZRNh4ke68OxfMP96iM-LZswG2fNqe-_piGIMepF5rCe1iIWAuz3qqkxfS9YVF3hvwoXhjJT0yIgrDMl1lfW5_XipNshZoxddWK3B7dnVW74MFazEEFuefiQm3PdMUX8jWGsmfgPnqBIZTizErNhoIMuRvYaVM1wA2nfrpVGONxMTaw8T0NRwYIuZwubbnNQ1yLhI0y3dsZvQ_lrh9Khtk9fS1V3SRh7aa9AvferJ4T-48qn_V1m3sINPgoA-uLGyyu3k_GkXRYW1yGNC-MH4T2cwhj89WITbIhusgQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rs256-alg-missing - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJ0eXAiOiAiSldUIiwgImtpZCI6ICJrMSJ9.eyJpc3MiOiAieHh4IiwgInN1YiI6ICJmcmVkIn0.J4J4FgUD_P5fviVVjgvQWJDg-5XYTP_tHCwB3kSlYVKv8vmnZRNh4ke68OxfMP96iM-LZswG2fNqe-_piGIMepF5rCe1iIWAuz3qqkxfS9YVF3hvwoXhjJT0yIgrDMl1lfW5_XipNshZoxddWK3B7dnVW74MFazEEFuefiQm3PdMUX8jWGsmfgPnqBIZTizErNhoIMuRvYaVM1wA2nfrpVGONxMTaw8T0NRwYIuZwubbnNQ1yLhI0y3dsZvQ_lrh9Khtk9fS1V3SRh7aa9AvferJ4T-48qn_V1m3sINPgoA-uLGyyu3k_GkXRYW1yGNC-MH4T2cwhj89WITbIhusgQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rs256-alg-missing + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0464.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0464.yaml index 9f2e8f919a..f0ae9df7ea 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0464.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0464.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJjcml0IjogWyJqdW5rIl0sICJraWQiOiAiazEiLCAiYWxnIjogIlJTMjU2IiwgInR5cCI6ICJKV1QiLCAianVuayI6ICJ4eHgifQ.eyJpc3MiOiAieHh4IiwgInN1YiI6ICJmcmVkIn0.YfoUpW5CgDBtxtBuOix3cdYJGT8cX9Mq7wOhIbjDK7eRQUsAmMY_0EQPh7bd7Yi1gLI3e11BKzguf2EHqAa1kbkHWwFniBO-RIi8q42v2uxC4lpEpIjfaaXB5XmsLfAXtYRqh0AObvbSho6VDXBP_Kn81nhIiE2yFbH14_jhRMSxDBs5ToSkXV-XJHw5bONP8NxPqEk9KF3ZJGzN7J_KoD6LjqfYai5K0eLNEIZh4C1WjTdmCKMR4K6ieZRQWZiSsnhSqLSQERir4n22G3QsdY7dOnCp-SS4VYu3V-PfsOSFMvQ-TTAN1geqMZ9A7k1CCLW0wxKBs-KCiYzmRTzwxA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rs256-crit-junk - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJjcml0IjogWyJqdW5rIl0sICJraWQiOiAiazEiLCAiYWxnIjogIlJTMjU2IiwgInR5cCI6ICJKV1QiLCAianVuayI6ICJ4eHgifQ.eyJpc3MiOiAieHh4IiwgInN1YiI6ICJmcmVkIn0.YfoUpW5CgDBtxtBuOix3cdYJGT8cX9Mq7wOhIbjDK7eRQUsAmMY_0EQPh7bd7Yi1gLI3e11BKzguf2EHqAa1kbkHWwFniBO-RIi8q42v2uxC4lpEpIjfaaXB5XmsLfAXtYRqh0AObvbSho6VDXBP_Kn81nhIiE2yFbH14_jhRMSxDBs5ToSkXV-XJHw5bONP8NxPqEk9KF3ZJGzN7J_KoD6LjqfYai5K0eLNEIZh4C1WjTdmCKMR4K6ieZRQWZiSsnhSqLSQERir4n22G3QsdY7dOnCp-SS4VYu3V-PfsOSFMvQ-TTAN1geqMZ9A7k1CCLW0wxKBs-KCiYzmRTzwxA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rs256-crit-junk + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0465.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0465.yaml index 6888824211..272aaf0fca 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0465.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0465.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCIsICJjdHkiOiAiSldUIn0.ZXlKaGJHY2lPaUFpVWxNeU5UWWlMQ0FpZEhsd0lqb2dJa3BYVkNKOS5leUpwYzNNaU9pQWllSGg0SW4wLnJSUnJlUU9DYW9ZLW1Nazcyak5GZVk1YVlFUWhJZ0lFdFZkUTlYblltUUwyTHdfaDdNbkk0U0VPMVBwa0JIVEpyZnljbEplTHpfalJ2UGdJMlcxaDFCNGNaVDhDZ21pVXdxQXI5c0puZHlVQ1FtSWRrbm53WkI5cXAtX3BTdGRHWEo5WnAzeEo4NXotVEJpWlN0QUNUZFdlUklGSUU3VkxPa20tRmxZdzh5OTdnaUN4TmxUdWl3amxlTjMwZDhnWHUxNkZGQzJTSlhtRjZKbXYtNjJHbERhLW1CWFZ0bGJVSTVlWVUwaTdueTNyQjBYUVQxRkt4ZUZ3OF85N09FdV9jY3VLcl82ZHlHZVFHdnQ5Y3JJeEFBMWFZbDdmbVBrNkVhcjllTTNKaGVYMi00Wkx0d1FOY1RDT01YV0dIck1DaG5MWVc4WEFrTHJEbl9yRmxUaVMtZw.Xicc2sWCZ_Nithucsw9XD7YOKrirUdEnH3MyiPM-Ck3vEU2RsTBsfU2JPhfjp3phc0VOgsAXCzwU5PwyNyUo1490q8YSym-liMyO2Lk-hjH5fAxoizg9yD4II_lK6Wz_Tnpc0bBGDLdbuUhvgvO7yqo-leBQlsfRXOvw4VSPSEy8QPtbURtbnLpWY2jGBKz7vGI_o4qDJ3PicG0kyEiWZNh3wjeeCYRCWvXN8qh7Uk5EA-8J5vX651GqV-7gmaX1n-8DXamhaCQcE-p1cjSj04-X-_bJlQtmb-TT3bSyUPxgHVncvxNUby8jkUTzfi5MMbmIzWWkxI5YtJTdtmCkPQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rsa256-nested - query: data.generated.p = x - want_result: - - x: - - true - - alg: RS256 - typ: JWT - - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCIsICJjdHkiOiAiSldUIn0.ZXlKaGJHY2lPaUFpVWxNeU5UWWlMQ0FpZEhsd0lqb2dJa3BYVkNKOS5leUpwYzNNaU9pQWllSGg0SW4wLnJSUnJlUU9DYW9ZLW1Nazcyak5GZVk1YVlFUWhJZ0lFdFZkUTlYblltUUwyTHdfaDdNbkk0U0VPMVBwa0JIVEpyZnljbEplTHpfalJ2UGdJMlcxaDFCNGNaVDhDZ21pVXdxQXI5c0puZHlVQ1FtSWRrbm53WkI5cXAtX3BTdGRHWEo5WnAzeEo4NXotVEJpWlN0QUNUZFdlUklGSUU3VkxPa20tRmxZdzh5OTdnaUN4TmxUdWl3amxlTjMwZDhnWHUxNkZGQzJTSlhtRjZKbXYtNjJHbERhLW1CWFZ0bGJVSTVlWVUwaTdueTNyQjBYUVQxRkt4ZUZ3OF85N09FdV9jY3VLcl82ZHlHZVFHdnQ5Y3JJeEFBMWFZbDdmbVBrNkVhcjllTTNKaGVYMi00Wkx0d1FOY1RDT01YV0dIck1DaG5MWVc4WEFrTHJEbl9yRmxUaVMtZw.Xicc2sWCZ_Nithucsw9XD7YOKrirUdEnH3MyiPM-Ck3vEU2RsTBsfU2JPhfjp3phc0VOgsAXCzwU5PwyNyUo1490q8YSym-liMyO2Lk-hjH5fAxoizg9yD4II_lK6Wz_Tnpc0bBGDLdbuUhvgvO7yqo-leBQlsfRXOvw4VSPSEy8QPtbURtbnLpWY2jGBKz7vGI_o4qDJ3PicG0kyEiWZNh3wjeeCYRCWvXN8qh7Uk5EA-8J5vX651GqV-7gmaX1n-8DXamhaCQcE-p1cjSj04-X-_bJlQtmb-TT3bSyUPxgHVncvxNUby8jkUTzfi5MMbmIzWWkxI5YtJTdtmCkPQ", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rsa256-nested + query: data.generated.p = x + want_result: + - x: + - true + - alg: RS256 + typ: JWT + - iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0466.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0466.yaml index 0432d33711..d83ab9afd8 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0466.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0466.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCIsICJjdHkiOiAiSldUIn0.ZXlKaGJHY2lPaUFpVWxNeU5UWWlMQ0FpZEhsd0lqb2dJa3BYVkNJc0lDSmpkSGtpT2lBaVNsZFVJbjAuWlhsS2FHSkhZMmxQYVVGcFZXeE5lVTVVV1dsTVEwRnBaRWhzZDBscWIyZEphM0JZVmtOS09TNWxlVXB3WXpOTmFVOXBRV2xsU0dnMFNXNHdMbkpTVW5KbFVVOURZVzlaTFcxTmF6Y3lhazVHWlZrMVlWbEZVV2hKWjBsRmRGWmtVVGxZYmxsdFVVd3lUSGRmYURkTmJrazBVMFZQTVZCd2EwSklWRXB5Wm5samJFcGxUSHBmYWxKMlVHZEpNbGN4YURGQ05HTmFWRGhEWjIxcFZYZHhRWEk1YzBwdVpIbFZRMUZ0U1dScmJtNTNXa0k1Y1hBdFgzQlRkR1JIV0VvNVduQXplRW80TlhvdFZFSnBXbE4wUVVOVVpGZGxVa2xHU1VVM1ZreFBhMjB0Um14WmR6aDVPVGRuYVVONFRteFVkV2wzYW14bFRqTXdaRGhuV0hVeE5rWkdRekpUU2xodFJqWktiWFl0TmpKSGJFUmhMVzFDV0ZaMGJHSlZTVFZsV1ZVd2FUZHVlVE55UWpCWVVWUXhSa3Q0WlVaM09GODVOMDlGZFY5alkzVkxjbDgyWkhsSFpWRkhkblE1WTNKSmVFRkJNV0ZaYkRkbWJWQnJOa1ZoY2psbFRUTkthR1ZZTWkwMFdreDBkMUZPWTFSRFQwMVlWMGRJY2sxRGFHNU1XVmM0V0VGclRISkVibDl5Um14VWFWTXRady5YaWNjMnNXQ1pfTml0aHVjc3c5WEQ3WU9LcmlyVWRFbkgzTXlpUE0tQ2szdkVVMlJzVEJzZlUySlBoZmpwM3BoYzBWT2dzQVhDendVNVB3eU55VW8xNDkwcThZU3ltLWxpTXlPMkxrLWhqSDVmQXhvaXpnOXlENElJX2xLNld6X1RucGMwYkJHRExkYnVVaHZndk83eXFvLWxlQlFsc2ZSWE92dzRWU1BTRXk4UVB0YlVSdGJuTHBXWTJqR0JLejd2R0lfbzRxREozUGljRzBreUVpV1pOaDN3amVlQ1lSQ1d2WE44cWg3VWs1RUEtOEo1dlg2NTFHcVYtN2dtYVgxbi04RFhhbWhhQ1FjRS1wMWNqU2owNC1YLV9iSmxRdG1iLVRUM2JTeVVQeGdIVm5jdnhOVWJ5OGprVVR6Zmk1TU1ibUl6V1dreEk1WXRKVGR0bUNrUFE.ODBVH_gooCLJxtPVr1MjJC1syG4MnVUFP9LkI9pSaj0QABV4vpfqrBshHn8zOPgUTDeHwbc01Qy96cQlTMQQb94YANmZyL1nzwmdR4piiGXMGSlcCNfDg1o8DK4msMSR-X-j2IkxBDB8rfeFSfLRMgDCjAF0JolW7qWmMD9tBmFNYAjly4vMwToOXosDmFLl5eqyohXDf-3Ohljm5kIjtyMWkt5S9EVuwlIXh2owK5l59c4-TH29gkuaZ3uU4LFPjD7XKUrlOQnEMuu2QD8LAqTyxbnY4JyzUWEvyTM1dVmGnFpLKCg9QBly__y1u2ffhvDsHyuCmEKAbhPE98YvFA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rsa256-nested2 - query: data.generated.p = x - want_result: - - x: - - true - - alg: RS256 - typ: JWT - - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCIsICJjdHkiOiAiSldUIn0.ZXlKaGJHY2lPaUFpVWxNeU5UWWlMQ0FpZEhsd0lqb2dJa3BYVkNJc0lDSmpkSGtpT2lBaVNsZFVJbjAuWlhsS2FHSkhZMmxQYVVGcFZXeE5lVTVVV1dsTVEwRnBaRWhzZDBscWIyZEphM0JZVmtOS09TNWxlVXB3WXpOTmFVOXBRV2xsU0dnMFNXNHdMbkpTVW5KbFVVOURZVzlaTFcxTmF6Y3lhazVHWlZrMVlWbEZVV2hKWjBsRmRGWmtVVGxZYmxsdFVVd3lUSGRmYURkTmJrazBVMFZQTVZCd2EwSklWRXB5Wm5samJFcGxUSHBmYWxKMlVHZEpNbGN4YURGQ05HTmFWRGhEWjIxcFZYZHhRWEk1YzBwdVpIbFZRMUZ0U1dScmJtNTNXa0k1Y1hBdFgzQlRkR1JIV0VvNVduQXplRW80TlhvdFZFSnBXbE4wUVVOVVpGZGxVa2xHU1VVM1ZreFBhMjB0Um14WmR6aDVPVGRuYVVONFRteFVkV2wzYW14bFRqTXdaRGhuV0hVeE5rWkdRekpUU2xodFJqWktiWFl0TmpKSGJFUmhMVzFDV0ZaMGJHSlZTVFZsV1ZVd2FUZHVlVE55UWpCWVVWUXhSa3Q0WlVaM09GODVOMDlGZFY5alkzVkxjbDgyWkhsSFpWRkhkblE1WTNKSmVFRkJNV0ZaYkRkbWJWQnJOa1ZoY2psbFRUTkthR1ZZTWkwMFdreDBkMUZPWTFSRFQwMVlWMGRJY2sxRGFHNU1XVmM0V0VGclRISkVibDl5Um14VWFWTXRady5YaWNjMnNXQ1pfTml0aHVjc3c5WEQ3WU9LcmlyVWRFbkgzTXlpUE0tQ2szdkVVMlJzVEJzZlUySlBoZmpwM3BoYzBWT2dzQVhDendVNVB3eU55VW8xNDkwcThZU3ltLWxpTXlPMkxrLWhqSDVmQXhvaXpnOXlENElJX2xLNld6X1RucGMwYkJHRExkYnVVaHZndk83eXFvLWxlQlFsc2ZSWE92dzRWU1BTRXk4UVB0YlVSdGJuTHBXWTJqR0JLejd2R0lfbzRxREozUGljRzBreUVpV1pOaDN3amVlQ1lSQ1d2WE44cWg3VWs1RUEtOEo1dlg2NTFHcVYtN2dtYVgxbi04RFhhbWhhQ1FjRS1wMWNqU2owNC1YLV9iSmxRdG1iLVRUM2JTeVVQeGdIVm5jdnhOVWJ5OGprVVR6Zmk1TU1ibUl6V1dreEk1WXRKVGR0bUNrUFE.ODBVH_gooCLJxtPVr1MjJC1syG4MnVUFP9LkI9pSaj0QABV4vpfqrBshHn8zOPgUTDeHwbc01Qy96cQlTMQQb94YANmZyL1nzwmdR4piiGXMGSlcCNfDg1o8DK4msMSR-X-j2IkxBDB8rfeFSfLRMgDCjAF0JolW7qWmMD9tBmFNYAjly4vMwToOXosDmFLl5eqyohXDf-3Ohljm5kIjtyMWkt5S9EVuwlIXh2owK5l59c4-TH29gkuaZ3uU4LFPjD7XKUrlOQnEMuu2QD8LAqTyxbnY4JyzUWEvyTM1dVmGnFpLKCg9QBly__y1u2ffhvDsHyuCmEKAbhPE98YvFA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rsa256-nested2 + query: data.generated.p = x + want_result: + - x: + - true + - alg: RS256 + typ: JWT + - iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0467.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0467.yaml index 739ebc9e50..2b70143d12 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0467.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0467.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiRVMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.JvbTLBF06FR70gb7lCbx_ojhp4bk9--B_aULgNlYM0fYf9OSawaqBQp2lwW6FADFtRJ2WFUk5g0zwVOUlnrlzw", {"cert": "-----BEGIN CERTIFICATE-----\nMIIBcDCCARagAwIBAgIJAMZmuGSIfvgzMAoGCCqGSM49BAMCMBMxETAPBgNVBAMM\nCHdoYXRldmVyMB4XDTE4MDgxMDE0Mjg1NFoXDTE4MDkwOTE0Mjg1NFowEzERMA8G\nA1UEAwwId2hhdGV2ZXIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATPwn3WCEXL\nmjp/bFniDwuwsfu7bASlPae2PyWhqGeWwe23Xlyx+tSqxlkXYe4pZ23BkAAscpGj\nyn5gXHExyDlKo1MwUTAdBgNVHQ4EFgQUElRjSoVgKjUqY5AXz2o74cLzzS8wHwYD\nVR0jBBgwFoAUElRjSoVgKjUqY5AXz2o74cLzzS8wDwYDVR0TAQH/BAUwAwEB/zAK\nBggqhkjOPQQDAgNIADBFAiEA4yQ/88ZrUX68c6kOe9G11u8NUaUzd8pLOtkKhniN\nOHoCIHmNX37JOqTcTzGn2u9+c8NlnvZ0uDvsd1BmKPaUmjmm\n-----END CERTIFICATE-----\n"}, [x, y, z]) - } - note: jwtdecodeverify/es256-unconstrained - query: data.generated.p = x - want_result: - - x: - - true - - alg: ES256 - typ: JWT - - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiRVMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.JvbTLBF06FR70gb7lCbx_ojhp4bk9--B_aULgNlYM0fYf9OSawaqBQp2lwW6FADFtRJ2WFUk5g0zwVOUlnrlzw", {"cert": "-----BEGIN CERTIFICATE-----\nMIIBcDCCARagAwIBAgIJAMZmuGSIfvgzMAoGCCqGSM49BAMCMBMxETAPBgNVBAMM\nCHdoYXRldmVyMB4XDTE4MDgxMDE0Mjg1NFoXDTE4MDkwOTE0Mjg1NFowEzERMA8G\nA1UEAwwId2hhdGV2ZXIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATPwn3WCEXL\nmjp/bFniDwuwsfu7bASlPae2PyWhqGeWwe23Xlyx+tSqxlkXYe4pZ23BkAAscpGj\nyn5gXHExyDlKo1MwUTAdBgNVHQ4EFgQUElRjSoVgKjUqY5AXz2o74cLzzS8wHwYD\nVR0jBBgwFoAUElRjSoVgKjUqY5AXz2o74cLzzS8wDwYDVR0TAQH/BAUwAwEB/zAK\nBggqhkjOPQQDAgNIADBFAiEA4yQ/88ZrUX68c6kOe9G11u8NUaUzd8pLOtkKhniN\nOHoCIHmNX37JOqTcTzGn2u9+c8NlnvZ0uDvsd1BmKPaUmjmm\n-----END CERTIFICATE-----\n"}, [x, y, z]) + } + note: jwtdecodeverify/es256-unconstrained + query: data.generated.p = x + want_result: + - x: + - true + - alg: ES256 + typ: JWT + - iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0468.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0468.yaml index f61a7c11a0..7ac851ab61 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0468.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0468.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWxpY2UiLCJhenAiOiJhbGljZSIsInN1Ym9yZGluYXRlcyI6W10sImhyIjpmYWxzZX0.rz3jTY033z-NrKfwrK89_dcLF7TN4gwCMj-fVBDyLoM", {"secret": "secret"}, [x, y, z]) - } - note: jwtdecodeverify/hs256-unconstrained - query: data.generated.p = x - want_result: - - x: - - true - - alg: HS256 - typ: JWT - - azp: alice - hr: false - subordinates: [] - user: alice + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWxpY2UiLCJhenAiOiJhbGljZSIsInN1Ym9yZGluYXRlcyI6W10sImhyIjpmYWxzZX0.rz3jTY033z-NrKfwrK89_dcLF7TN4gwCMj-fVBDyLoM", {"secret": "secret"}, [x, y, z]) + } + note: jwtdecodeverify/hs256-unconstrained + query: data.generated.p = x + want_result: + - x: + - true + - alg: HS256 + typ: JWT + - azp: alice + hr: false + subordinates: [] + user: alice diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0469.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0469.yaml index af6facccda..5aa2b8a46b 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0469.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0469.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWxpY2UiLCJhenAiOiJhbGljZSIsInN1Ym9yZGluYXRlcyI6W10sImhyIjpmYWxzZX0.rz3jTY033z-NrKfwrK89_dcLF7TN4gwCMj-fVBDyLoM", {"secret": "the wrong key"}, [x, y, z]) - } - note: jwtdecodeverify/hs256-key-wrong - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWxpY2UiLCJhenAiOiJhbGljZSIsInN1Ym9yZGluYXRlcyI6W10sImhyIjpmYWxzZX0.rz3jTY033z-NrKfwrK89_dcLF7TN4gwCMj-fVBDyLoM", {"secret": "the wrong key"}, [x, y, z]) + } + note: jwtdecodeverify/hs256-key-wrong + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0470.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0470.yaml index f64bd8208d..432ef22f44 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0470.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0470.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImF1ZCI6ICJmcmVkIn0.F-9m2Tx8r1tuQFirazsI4FK05bXX3uP4ut8M2FryJ07k3bQhy262fdwNDmuFcGx0NfL-c80agcwGoTzMWXkVEgZ2KTz0QSAdcdGk3ZWtUy-Mj2IilZ1dzkVvW8LsithYFTGcUtkelFDrJwtMQ0Kum7SXJpC_HCBk4PbftY0XD6jRgHLnQdeT9_J11L4sd19vCdpxxxm3_m_yvUV3ZynzB4vhQbS3CET4EClAVhi-m_gMh9mj85gY1ycIz6-FxWv8xM2Igm2SMeIdyJwAvEGnIauRS928P_OqVCZgCH2Pafnxtzy77Llpxy8XS0xu5PtPw3_azhg33GaXDCFsfz6GpA", {"aud": "fred", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rs256-aud - query: data.generated.p = x - want_result: - - x: - - true - - alg: RS256 - typ: JWT - - aud: fred - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImF1ZCI6ICJmcmVkIn0.F-9m2Tx8r1tuQFirazsI4FK05bXX3uP4ut8M2FryJ07k3bQhy262fdwNDmuFcGx0NfL-c80agcwGoTzMWXkVEgZ2KTz0QSAdcdGk3ZWtUy-Mj2IilZ1dzkVvW8LsithYFTGcUtkelFDrJwtMQ0Kum7SXJpC_HCBk4PbftY0XD6jRgHLnQdeT9_J11L4sd19vCdpxxxm3_m_yvUV3ZynzB4vhQbS3CET4EClAVhi-m_gMh9mj85gY1ycIz6-FxWv8xM2Igm2SMeIdyJwAvEGnIauRS928P_OqVCZgCH2Pafnxtzy77Llpxy8XS0xu5PtPw3_azhg33GaXDCFsfz6GpA", {"aud": "fred", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rs256-aud + query: data.generated.p = x + want_result: + - x: + - true + - alg: RS256 + typ: JWT + - aud: fred + iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0471.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0471.yaml index ade4442b5b..eaef9a6458 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0471.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0471.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImF1ZCI6IFsiZnJlZCIsICJib2IiXX0.k8jW7PUiMkQCKCjnSFBFFKPDO0RXwZgVkLUwUfi8sMdrrcKi12LC8wd5fLBn0YraFtMXWKdMweKf9ZC-K33h5TK7kkTVKOXctF50mleMlUn0Up_XjtdP1v-2WOfivUXcexN1o-hu0kH7sSQnielXIjC2EAleG6A54YUOZFBdzvd1PKHlsxA7x2iiL73uGeFlyxoaMki8E5tx7FY6JGF1RdhWCoIV5A5J8QnwI5EetduJQ505U65Pk7UApWYWu4l2DT7KCCJa5dJaBvCBemVxWaBhCQWtJKU2ZgOEkpiK7b_HsdeRBmpG9Oi1o5mt5ybC09VxSD-lEda_iJO_7i042A", {"aud": "bob", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rs256-aud-list - query: data.generated.p = x - want_result: - - x: - - true - - alg: RS256 - typ: JWT - - aud: - - fred - - bob - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImF1ZCI6IFsiZnJlZCIsICJib2IiXX0.k8jW7PUiMkQCKCjnSFBFFKPDO0RXwZgVkLUwUfi8sMdrrcKi12LC8wd5fLBn0YraFtMXWKdMweKf9ZC-K33h5TK7kkTVKOXctF50mleMlUn0Up_XjtdP1v-2WOfivUXcexN1o-hu0kH7sSQnielXIjC2EAleG6A54YUOZFBdzvd1PKHlsxA7x2iiL73uGeFlyxoaMki8E5tx7FY6JGF1RdhWCoIV5A5J8QnwI5EetduJQ505U65Pk7UApWYWu4l2DT7KCCJa5dJaBvCBemVxWaBhCQWtJKU2ZgOEkpiK7b_HsdeRBmpG9Oi1o5mt5ybC09VxSD-lEda_iJO_7i042A", {"aud": "bob", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rs256-aud-list + query: data.generated.p = x + want_result: + - x: + - true + - alg: RS256 + typ: JWT + - aud: + - fred + - bob + iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0472.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0472.yaml index 08cc4767e2..89bff5bc9c 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0472.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0472.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"aud": "cath", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/ps256-no-aud - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4In0.iCePYnD1U13oBe_6ylhmojmkY_VZNYXqVszAej8RImMGv51OEqARmYFkRZYTiYCiVFober7vcDq_stOj1uAJCuttygGW_dpHiN-3EWsU2E2vCnXlygWe0ud38pOC-OVyEFbXxO9-m51vnS-3VmBjEO8G1UE8bLFXTeFOGkUIj9dqlefJSWh5wa8XA3g9mj0jqpuJi-7QgEIeVHk-JzhGpoFqI2f-Df_agVvc2x4V-6fJmj7wV2IsaFPRi36mVQmg8S-dkxu4AlaeCILhyNZl8ewjBHHBjJFRwzcy88L00mzdO51ZxEYsBdQav3ux2sc6vjT9PvvjAwzcthQxEoEaNA", {"aud": "cath", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/ps256-no-aud + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0473.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0473.yaml index c61d4746e2..c735b71c97 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0473.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0473.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImF1ZCI6ICJmcmVkIn0.F-9m2Tx8r1tuQFirazsI4FK05bXX3uP4ut8M2FryJ07k3bQhy262fdwNDmuFcGx0NfL-c80agcwGoTzMWXkVEgZ2KTz0QSAdcdGk3ZWtUy-Mj2IilZ1dzkVvW8LsithYFTGcUtkelFDrJwtMQ0Kum7SXJpC_HCBk4PbftY0XD6jRgHLnQdeT9_J11L4sd19vCdpxxxm3_m_yvUV3ZynzB4vhQbS3CET4EClAVhi-m_gMh9mj85gY1ycIz6-FxWv8xM2Igm2SMeIdyJwAvEGnIauRS928P_OqVCZgCH2Pafnxtzy77Llpxy8XS0xu5PtPw3_azhg33GaXDCFsfz6GpA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rs256-missing-aud - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImF1ZCI6ICJmcmVkIn0.F-9m2Tx8r1tuQFirazsI4FK05bXX3uP4ut8M2FryJ07k3bQhy262fdwNDmuFcGx0NfL-c80agcwGoTzMWXkVEgZ2KTz0QSAdcdGk3ZWtUy-Mj2IilZ1dzkVvW8LsithYFTGcUtkelFDrJwtMQ0Kum7SXJpC_HCBk4PbftY0XD6jRgHLnQdeT9_J11L4sd19vCdpxxxm3_m_yvUV3ZynzB4vhQbS3CET4EClAVhi-m_gMh9mj85gY1ycIz6-FxWv8xM2Igm2SMeIdyJwAvEGnIauRS928P_OqVCZgCH2Pafnxtzy77Llpxy8XS0xu5PtPw3_azhg33GaXDCFsfz6GpA", {"cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rs256-missing-aud + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0474.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0474.yaml index 9dd2a30348..05924d3ca5 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0474.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0474.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImF1ZCI6ICJmcmVkIn0.F-9m2Tx8r1tuQFirazsI4FK05bXX3uP4ut8M2FryJ07k3bQhy262fdwNDmuFcGx0NfL-c80agcwGoTzMWXkVEgZ2KTz0QSAdcdGk3ZWtUy-Mj2IilZ1dzkVvW8LsithYFTGcUtkelFDrJwtMQ0Kum7SXJpC_HCBk4PbftY0XD6jRgHLnQdeT9_J11L4sd19vCdpxxxm3_m_yvUV3ZynzB4vhQbS3CET4EClAVhi-m_gMh9mj85gY1ycIz6-FxWv8xM2Igm2SMeIdyJwAvEGnIauRS928P_OqVCZgCH2Pafnxtzy77Llpxy8XS0xu5PtPw3_azhg33GaXDCFsfz6GpA", {"aud": "cath", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rs256-wrong-aud - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImF1ZCI6ICJmcmVkIn0.F-9m2Tx8r1tuQFirazsI4FK05bXX3uP4ut8M2FryJ07k3bQhy262fdwNDmuFcGx0NfL-c80agcwGoTzMWXkVEgZ2KTz0QSAdcdGk3ZWtUy-Mj2IilZ1dzkVvW8LsithYFTGcUtkelFDrJwtMQ0Kum7SXJpC_HCBk4PbftY0XD6jRgHLnQdeT9_J11L4sd19vCdpxxxm3_m_yvUV3ZynzB4vhQbS3CET4EClAVhi-m_gMh9mj85gY1ycIz6-FxWv8xM2Igm2SMeIdyJwAvEGnIauRS928P_OqVCZgCH2Pafnxtzy77Llpxy8XS0xu5PtPw3_azhg33GaXDCFsfz6GpA", {"aud": "cath", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rs256-wrong-aud + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0475.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0475.yaml index 8fec646925..f4b46ad606 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0475.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0475.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImF1ZCI6IFsiZnJlZCIsICJib2IiXX0.k8jW7PUiMkQCKCjnSFBFFKPDO0RXwZgVkLUwUfi8sMdrrcKi12LC8wd5fLBn0YraFtMXWKdMweKf9ZC-K33h5TK7kkTVKOXctF50mleMlUn0Up_XjtdP1v-2WOfivUXcexN1o-hu0kH7sSQnielXIjC2EAleG6A54YUOZFBdzvd1PKHlsxA7x2iiL73uGeFlyxoaMki8E5tx7FY6JGF1RdhWCoIV5A5J8QnwI5EetduJQ505U65Pk7UApWYWu4l2DT7KCCJa5dJaBvCBemVxWaBhCQWtJKU2ZgOEkpiK7b_HsdeRBmpG9Oi1o5mt5ybC09VxSD-lEda_iJO_7i042A", {"aud": "cath", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) - } - note: jwtdecodeverify/rs256-wrong-aud-list - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiAiUlMyNTYiLCAidHlwIjogIkpXVCJ9.eyJpc3MiOiAieHh4IiwgImF1ZCI6IFsiZnJlZCIsICJib2IiXX0.k8jW7PUiMkQCKCjnSFBFFKPDO0RXwZgVkLUwUfi8sMdrrcKi12LC8wd5fLBn0YraFtMXWKdMweKf9ZC-K33h5TK7kkTVKOXctF50mleMlUn0Up_XjtdP1v-2WOfivUXcexN1o-hu0kH7sSQnielXIjC2EAleG6A54YUOZFBdzvd1PKHlsxA7x2iiL73uGeFlyxoaMki8E5tx7FY6JGF1RdhWCoIV5A5J8QnwI5EetduJQ505U65Pk7UApWYWu4l2DT7KCCJa5dJaBvCBemVxWaBhCQWtJKU2ZgOEkpiK7b_HsdeRBmpG9Oi1o5mt5ybC09VxSD-lEda_iJO_7i042A", {"aud": "cath", "cert": "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----"}, [x, y, z]) + } + note: jwtdecodeverify/rs256-wrong-aud-list + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0476.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0476.yaml index 8ad8b4a02c..0f5c06a709 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0476.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0476.yaml @@ -1,43 +1,44 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.ZcLZbBKpPFFz8YGD2jEbXzwHT7DWtqRVk1PTV-cAWUV8jr6f2a--Fw9SFR3vSbrtFif06AQ3aWY7PMM2AuxDjiUVGjItmHRz0sJBEijcE2QVkDN7MNK3Kk1fsM_hbEXzNCzChZpEkTZnLy9ijkJJFD0j6lBat4lO5Zc_LC2lXUftV_hU2aW9mQ7pLSgJjItzRymivnN0g-WUDq5IPK_M8b3yPy_N9iByj8B2FO0sC3TuOrXWbrYrX4ve4bAaSqOFOXiL5Z5BJfmmtT--xKdWDGJxnei8lbv7in7t223fVsUpsH-zmybp529Fya37BsaIlcgLrl38ghvoqy2sHu2wAA", { - "cert": `{ - "keys": [ - { - "kty": "EC", - "use": "sig", - "crv": "P-256", - "kid": "k1", - "x": "9Qq5S5VqMQoH-FOI4atcH6V3bua03C-5ZMZMG1rszwA", - "y": "LLbFxWkGBEBrTm1GMYZJy1OXCH1KLweJMCgIEPIsibU", - "alg": "ES256" - }, - { - "kty": "RSA", - "e": "AQAB", - "use": "enc", - "kid": "k2", - "alg": "RS256", - "n": "sGu-fYVE2nq2dPxJlqAMI0Z8G3FD0XcWDnD8mkfO1ddKRGuUQZmfj4gWeZGyIk3cnuoy7KJCEqa3daXc08QHuFZyfn0rH33t8_AFsvb0q0i7R2FK-Gdqs_E0-sGpYMsRJdZWfCioLkYjIHEuVnRbi3DEsWqe484rEGbKF60jNRgGC4b-8pz-E538ZkssWxcqHrYIj5bjGEU36onjS3M_yrTuNvzv_8wRioK4fbcwmGne9bDxu8LcoSReWpPn0CnUkWnfqroRcMJnC87ZuJagDW1ZWCmU3psdsVanmFFh0DP6z0fsA4h8G2n9-qp-LEKFaWwo3IWlOsIzU3MHdcEiGw" + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.ZcLZbBKpPFFz8YGD2jEbXzwHT7DWtqRVk1PTV-cAWUV8jr6f2a--Fw9SFR3vSbrtFif06AQ3aWY7PMM2AuxDjiUVGjItmHRz0sJBEijcE2QVkDN7MNK3Kk1fsM_hbEXzNCzChZpEkTZnLy9ijkJJFD0j6lBat4lO5Zc_LC2lXUftV_hU2aW9mQ7pLSgJjItzRymivnN0g-WUDq5IPK_M8b3yPy_N9iByj8B2FO0sC3TuOrXWbrYrX4ve4bAaSqOFOXiL5Z5BJfmmtT--xKdWDGJxnei8lbv7in7t223fVsUpsH-zmybp529Fya37BsaIlcgLrl38ghvoqy2sHu2wAA", { + "cert": `{ + "keys": [ + { + "kty": "EC", + "use": "sig", + "crv": "P-256", + "kid": "k1", + "x": "9Qq5S5VqMQoH-FOI4atcH6V3bua03C-5ZMZMG1rszwA", + "y": "LLbFxWkGBEBrTm1GMYZJy1OXCH1KLweJMCgIEPIsibU", + "alg": "ES256" + }, + { + "kty": "RSA", + "e": "AQAB", + "use": "enc", + "kid": "k2", + "alg": "RS256", + "n": "sGu-fYVE2nq2dPxJlqAMI0Z8G3FD0XcWDnD8mkfO1ddKRGuUQZmfj4gWeZGyIk3cnuoy7KJCEqa3daXc08QHuFZyfn0rH33t8_AFsvb0q0i7R2FK-Gdqs_E0-sGpYMsRJdZWfCioLkYjIHEuVnRbi3DEsWqe484rEGbKF60jNRgGC4b-8pz-E538ZkssWxcqHrYIj5bjGEU36onjS3M_yrTuNvzv_8wRioK4fbcwmGne9bDxu8LcoSReWpPn0CnUkWnfqroRcMJnC87ZuJagDW1ZWCmU3psdsVanmFFh0DP6z0fsA4h8G2n9-qp-LEKFaWwo3IWlOsIzU3MHdcEiGw" + } + ] + }`, + "time": 1574723450396363500, + }, [x, y, z]) } - ] - }`, - "time": 1574723450396363500, - }, [x, y, z]) - } - note: jwtdecodeverify/multiple-keys-one-valid - query: data.generated.p = x - want_result: - - x: - - true - - alg: RS256 - typ: JWT - - admin: true - iat: 1516239022 - name: John Doe - sub: "1234567890" + note: jwtdecodeverify/multiple-keys-one-valid + query: data.generated.p = x + want_result: + - x: + - true + - alg: RS256 + typ: JWT + - admin: true + iat: 1516239022 + name: John Doe + sub: "1234567890" diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0477.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0477.yaml index 2a3eca95f0..b7b89fc6e6 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0477.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0477.yaml @@ -1,39 +1,40 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.G051ZlKno4XdDz4pdPthPKH1cKlFqkREvx_dHhl6kwM", { - "cert": `{ - "keys": [ - { - "kty": "EC", - "use": "sig", - "crv": "P-256", - "kid": "k1", - "x": "9Qq5S5VqMQoH-FOI4atcH6V3bua03C-5ZMZMG1rszwA", - "y": "LLbFxWkGBEBrTm1GMYZJy1OXCH1KLweJMCgIEPIsibU", - "alg": "ES256" - }, - { - "kty": "RSA", - "e": "AQAB", - "use": "enc", - "kid": "k2", - "alg": "RS256", - "n": "sGu-fYVE2nq2dPxJlqAMI0Z8G3FD0XcWDnD8mkfO1ddKRGuUQZmfj4gWeZGyIk3cnuoy7KJCEqa3daXc08QHuFZyfn0rH33t8_AFsvb0q0i7R2FK-Gdqs_E0-sGpYMsRJdZWfCioLkYjIHEuVnRbi3DEsWqe484rEGbKF60jNRgGC4b-8pz-E538ZkssWxcqHrYIj5bjGEU36onjS3M_yrTuNvzv_8wRioK4fbcwmGne9bDxu8LcoSReWpPn0CnUkWnfqroRcMJnC87ZuJagDW1ZWCmU3psdsVanmFFh0DP6z0fsA4h8G2n9-qp-LEKFaWwo3IWlOsIzU3MHdcEiGw" + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.G051ZlKno4XdDz4pdPthPKH1cKlFqkREvx_dHhl6kwM", { + "cert": `{ + "keys": [ + { + "kty": "EC", + "use": "sig", + "crv": "P-256", + "kid": "k1", + "x": "9Qq5S5VqMQoH-FOI4atcH6V3bua03C-5ZMZMG1rszwA", + "y": "LLbFxWkGBEBrTm1GMYZJy1OXCH1KLweJMCgIEPIsibU", + "alg": "ES256" + }, + { + "kty": "RSA", + "e": "AQAB", + "use": "enc", + "kid": "k2", + "alg": "RS256", + "n": "sGu-fYVE2nq2dPxJlqAMI0Z8G3FD0XcWDnD8mkfO1ddKRGuUQZmfj4gWeZGyIk3cnuoy7KJCEqa3daXc08QHuFZyfn0rH33t8_AFsvb0q0i7R2FK-Gdqs_E0-sGpYMsRJdZWfCioLkYjIHEuVnRbi3DEsWqe484rEGbKF60jNRgGC4b-8pz-E538ZkssWxcqHrYIj5bjGEU36onjS3M_yrTuNvzv_8wRioK4fbcwmGne9bDxu8LcoSReWpPn0CnUkWnfqroRcMJnC87ZuJagDW1ZWCmU3psdsVanmFFh0DP6z0fsA4h8G2n9-qp-LEKFaWwo3IWlOsIzU3MHdcEiGw" + } + ] + }`, + "time": 1574723450396363500, + }, [x, y, z]) } - ] - }`, - "time": 1574723450396363500, - }, [x, y, z]) - } - note: jwtdecodeverify/multiple-keys-no-valid - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + note: jwtdecodeverify/multiple-keys-no-valid + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0478.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0478.yaml index df326b3a33..c3e1b4ce5a 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0478.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0478.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEwMDAuMX0.8ab0xurlRs_glclA3Sm7OMQgwkQvE4HuLsfMOc4nVO8", {"secret": "secret", "time": 2000000000000.1}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-nbf - query: data.generated.p = x - want_result: - - x: - - true - - alg: HS256 - typ: JWT - - iss: xxx - nbf: 1000.1 + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEwMDAuMX0.8ab0xurlRs_glclA3Sm7OMQgwkQvE4HuLsfMOc4nVO8", {"secret": "secret", "time": 2000000000000.1}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-nbf + query: data.generated.p = x + want_result: + - x: + - true + - alg: HS256 + typ: JWT + - iss: xxx + nbf: 1000.1 diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0479.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0479.yaml index 8cb26496dc..287e301ea7 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0479.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0479.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjMwMDAuMX0.khHsSae91zHwuaTIvszln3kyrOdPyUYiGSvCI0j2ie8", {"secret": "secret", "time": 2000000000000.1}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-nbf-not-valid - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjMwMDAuMX0.khHsSae91zHwuaTIvszln3kyrOdPyUYiGSvCI0j2ie8", {"secret": "secret", "time": 2000000000000.1}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-nbf-not-valid + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0480.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0480.yaml index 4eba9b1c28..34e2bb0cb7 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0480.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0480.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjMwMDAuMiwiaXNzIjoieHh4In0.XUen7GtDmICV3O1ngsoO-tQrjrXtOgJI06oGW0nQSIM", {"secret": "secret", "time": 2000000000000.1}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-exp-valid - query: data.generated.p = x - want_result: - - x: - - true - - alg: HS256 - typ: JWT - - exp: 3000.2 - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjMwMDAuMiwiaXNzIjoieHh4In0.XUen7GtDmICV3O1ngsoO-tQrjrXtOgJI06oGW0nQSIM", {"secret": "secret", "time": 2000000000000.1}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-exp-valid + query: data.generated.p = x + want_result: + - x: + - true + - alg: HS256 + typ: JWT + - exp: 3000.2 + iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0481.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0481.yaml index 6b73af6b3b..9b8c398af6 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0481.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0481.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjMwMDAuMiwiaXNzIjoieHh4In0.XUen7GtDmICV3O1ngsoO-tQrjrXtOgJI06oGW0nQSIM", {"secret": "secret", "time": 4000000000000.1}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-exp-expired - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjMwMDAuMiwiaXNzIjoieHh4In0.XUen7GtDmICV3O1ngsoO-tQrjrXtOgJI06oGW0nQSIM", {"secret": "secret", "time": 4000000000000.1}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-exp-expired + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0482.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0482.yaml index bbe0845b59..0ab99e8bfc 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0482.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0482.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEuNTg5Mzg1NzcwMTIzNGUrMDl9.lvrsV1nam-BZr0SomWwsr4dBfu6BDrR2FzQ1iS_Xnrw", {"secret": "secret", "time": 1589385770023400000}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-nbf-one-tenth-second-before - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEuNTg5Mzg1NzcwMTIzNGUrMDl9.lvrsV1nam-BZr0SomWwsr4dBfu6BDrR2FzQ1iS_Xnrw", {"secret": "secret", "time": 1589385770023400000}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-nbf-one-tenth-second-before + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0483.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0483.yaml index d1c473eb92..57b01650c8 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0483.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0483.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEuNTg5Mzg1NzcwMTIzNGUrMDl9.lvrsV1nam-BZr0SomWwsr4dBfu6BDrR2FzQ1iS_Xnrw", {"secret": "secret", "time": 1589385770123400000}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-nbf-equal - query: data.generated.p = x - want_result: - - x: - - true - - alg: HS256 - typ: JWT - - iss: xxx - nbf: 1.5893857701234e+09 + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEuNTg5Mzg1NzcwMTIzNGUrMDl9.lvrsV1nam-BZr0SomWwsr4dBfu6BDrR2FzQ1iS_Xnrw", {"secret": "secret", "time": 1589385770123400000}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-nbf-equal + query: data.generated.p = x + want_result: + - x: + - true + - alg: HS256 + typ: JWT + - iss: xxx + nbf: 1.5893857701234e+09 diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0484.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0484.yaml index 8cafd76f3d..22514f595b 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0484.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0484.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEuNTg5Mzg1NzcwMTIzNGUrMDl9.lvrsV1nam-BZr0SomWwsr4dBfu6BDrR2FzQ1iS_Xnrw", {"secret": "secret", "time": 1589385770124400000}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-one-millisecond-after-nbf - query: data.generated.p = x - want_result: - - x: - - true - - alg: HS256 - typ: JWT - - iss: xxx - nbf: 1.5893857701234e+09 + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEuNTg5Mzg1NzcwMTIzNGUrMDl9.lvrsV1nam-BZr0SomWwsr4dBfu6BDrR2FzQ1iS_Xnrw", {"secret": "secret", "time": 1589385770124400000}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-one-millisecond-after-nbf + query: data.generated.p = x + want_result: + - x: + - true + - alg: HS256 + typ: JWT + - iss: xxx + nbf: 1.5893857701234e+09 diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0485.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0485.yaml index ca5d08529a..c24617a9d7 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0485.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0485.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEuNTg5Mzg1NzcwMTIzNGUrMDl9.lvrsV1nam-BZr0SomWwsr4dBfu6BDrR2FzQ1iS_Xnrw", {"secret": "secret", "time": 1589385770223400000}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-one-tenth-second-after-nbf - query: data.generated.p = x - want_result: - - x: - - true - - alg: HS256 - typ: JWT - - iss: xxx - nbf: 1.5893857701234e+09 + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEuNTg5Mzg1NzcwMTIzNGUrMDl9.lvrsV1nam-BZr0SomWwsr4dBfu6BDrR2FzQ1iS_Xnrw", {"secret": "secret", "time": 1589385770223400000}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-one-tenth-second-after-nbf + query: data.generated.p = x + want_result: + - x: + - true + - alg: HS256 + typ: JWT + - iss: xxx + nbf: 1.5893857701234e+09 diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0486.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0486.yaml index 5eec9f4553..7cf891aa41 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0486.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0486.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEuNTg5Mzg1NzcwMTIzNGUrMDl9.lvrsV1nam-BZr0SomWwsr4dBfu6BDrR2FzQ1iS_Xnrw", {"secret": "secret", "time": 1589385771123400000}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-one-second-after-nbf - query: data.generated.p = x - want_result: - - x: - - true - - alg: HS256 - typ: JWT - - iss: xxx - nbf: 1.5893857701234e+09 + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ4eHgiLCJuYmYiOjEuNTg5Mzg1NzcwMTIzNGUrMDl9.lvrsV1nam-BZr0SomWwsr4dBfu6BDrR2FzQ1iS_Xnrw", {"secret": "secret", "time": 1589385771123400000}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-one-second-after-nbf + query: data.generated.p = x + want_result: + - x: + - true + - alg: HS256 + typ: JWT + - iss: xxx + nbf: 1.5893857701234e+09 diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0487.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0487.yaml index 571b9144c4..4e374d3805 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0487.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0487.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjEuNTg5Mzg1NzcxMTIzNGUrMDksImlzcyI6Inh4eCJ9.PZ2z6VfHt9YdvHHUbilkTnw4R9TK3_V0LV1h-q0k9xg", {"secret": "secret", "time": 1589385770123400000}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-one-second-before-exp - query: data.generated.p = x - want_result: - - x: - - true - - alg: HS256 - typ: JWT - - exp: 1.5893857711234e+09 - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjEuNTg5Mzg1NzcxMTIzNGUrMDksImlzcyI6Inh4eCJ9.PZ2z6VfHt9YdvHHUbilkTnw4R9TK3_V0LV1h-q0k9xg", {"secret": "secret", "time": 1589385770123400000}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-one-second-before-exp + query: data.generated.p = x + want_result: + - x: + - true + - alg: HS256 + typ: JWT + - exp: 1.5893857711234e+09 + iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0488.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0488.yaml index a51d02e3d1..15f7724bab 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0488.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0488.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjEuNTg5Mzg1NzcxMTIzNGUrMDksImlzcyI6Inh4eCJ9.PZ2z6VfHt9YdvHHUbilkTnw4R9TK3_V0LV1h-q0k9xg", {"secret": "secret", "time": 1589385771023400000}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-one-tenth-second-before-exp - query: data.generated.p = x - want_result: - - x: - - true - - alg: HS256 - typ: JWT - - exp: 1.5893857711234e+09 - iss: xxx + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjEuNTg5Mzg1NzcxMTIzNGUrMDksImlzcyI6Inh4eCJ9.PZ2z6VfHt9YdvHHUbilkTnw4R9TK3_V0LV1h-q0k9xg", {"secret": "secret", "time": 1589385771023400000}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-one-tenth-second-before-exp + query: data.generated.p = x + want_result: + - x: + - true + - alg: HS256 + typ: JWT + - exp: 1.5893857711234e+09 + iss: xxx diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0489.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0489.yaml index 6592922973..09b5057dfb 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0489.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0489.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjEuNTg5Mzg1NzcxMTIzNGUrMDksImlzcyI6Inh4eCJ9.PZ2z6VfHt9YdvHHUbilkTnw4R9TK3_V0LV1h-q0k9xg", {"secret": "secret", "time": 1589385771123400000}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-equal-exp - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjEuNTg5Mzg1NzcxMTIzNGUrMDksImlzcyI6Inh4eCJ9.PZ2z6VfHt9YdvHHUbilkTnw4R9TK3_V0LV1h-q0k9xg", {"secret": "secret", "time": 1589385771123400000}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-equal-exp + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0490.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0490.yaml index fc4d313e6b..44fba56a2d 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0490.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0490.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjEuNTg5Mzg1NzcxMTIzNGUrMDksImlzcyI6Inh4eCJ9.PZ2z6VfHt9YdvHHUbilkTnw4R9TK3_V0LV1h-q0k9xg", {"secret": "secret", "time": 1589385771223400000}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-one-tenth-second-after-exp - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjEuNTg5Mzg1NzcxMTIzNGUrMDksImlzcyI6Inh4eCJ9.PZ2z6VfHt9YdvHHUbilkTnw4R9TK3_V0LV1h-q0k9xg", {"secret": "secret", "time": 1589385771223400000}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-one-tenth-second-after-exp + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0491.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0491.yaml index 31bd8e86f0..d382265f7b 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0491.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-0491.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y, z] { - io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjEuNTg5Mzg1NzcxMTIzNGUrMDksImlzcyI6Inh4eCJ9.PZ2z6VfHt9YdvHHUbilkTnw4R9TK3_V0LV1h-q0k9xg", {"secret": "secret", "time": 1589385772123400000}, [x, y, z]) - } - note: jwtdecodeverify/hs256-float-one-second-after-exp - query: data.generated.p = x - want_result: - - x: - - false - - {} - - {} + p = [x, y, z] { + io.jwt.decode_verify("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjEuNTg5Mzg1NzcxMTIzNGUrMDksImlzcyI6Inh4eCJ9.PZ2z6VfHt9YdvHHUbilkTnw4R9TK3_V0LV1h-q0k9xg", {"secret": "secret", "time": 1589385772123400000}, [x, y, z]) + } + note: jwtdecodeverify/hs256-float-one-second-after-exp + query: data.generated.p = x + want_result: + - x: + - false + - {} + - {} diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-invalid-exp-type.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-invalid-exp-type.yaml index 35a2a43d16..133c050353 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-invalid-exp-type.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-invalid-exp-type.yaml @@ -1,15 +1,16 @@ +--- cases: - data: modules: - | package generated - + token := io.jwt.encode_sign({"alg": "HS256"}, {"exp": null}, {"kty": "oct", "k": base64url.encode_no_pad("42")}) - + decoded := io.jwt.decode_verify(token, {"secret": "42"}) note: jwtdecodeverify/invalid-exp query: data.generated.decoded = x strict_error: true want_error: exp value must be a number - want_error_code: eval_builtin_error \ No newline at end of file + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-invalid-nbf-type.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-invalid-nbf-type.yaml index 3ec6193cc7..5788294435 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-invalid-nbf-type.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-invalid-nbf-type.yaml @@ -1,15 +1,16 @@ +--- cases: - data: modules: - | package generated - + token := io.jwt.encode_sign({"alg": "HS256"}, {"nbf": "string is not valid here"}, {"kty": "oct", "k": base64url.encode_no_pad("42")}) - + decoded := io.jwt.decode_verify(token, {"secret": "42"}) note: jwtdecodeverify/invalid-nbf query: data.generated.decoded = x strict_error: true want_error: nbf value must be a number - want_error_code: eval_builtin_error \ No newline at end of file + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-missing-iss-while-required.yaml b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-missing-iss-while-required.yaml index 79c7939520..3765c60f15 100644 --- a/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-missing-iss-while-required.yaml +++ b/test/cases/testdata/jwtdecodeverify/test-jwtdecodeverify-missing-iss-while-required.yaml @@ -1,11 +1,12 @@ +--- cases: - data: modules: - | package generated - + token := io.jwt.encode_sign({"alg": "HS256"}, {}, {"kty": "oct", "k": base64url.encode_no_pad("42")}) - + decoded := io.jwt.decode_verify(token, {"secret": "42", "iss": "xxx"}) note: jwtdecodeverify/missing-iss-while-required @@ -13,5 +14,5 @@ cases: want_result: - x: - false - - { } - - { } + - {} + - {} diff --git a/test/cases/testdata/jwtencodesign/test-jwtencodesign-0492.yaml b/test/cases/testdata/jwtencodesign/test-jwtencodesign-0492.yaml index 1d2d68c191..e276712aba 100644 --- a/test/cases/testdata/jwtencodesign/test-jwtencodesign-0492.yaml +++ b/test/cases/testdata/jwtencodesign/test-jwtencodesign-0492.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign({"alg": "HS256", "typ": "JWT"}, {"aud": ["bob", "saul"], "exp": 1300819380, "http://example.com/is_root": true, "iss": "joe", "privateParams": {"private_one": "one", "private_two": "two"}}, {"k": "AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow", "kty": "oct"}, x) - } - note: jwtencodesign/https://tools.ietf.org/html/rfc7515#appendix-A.1 - query: data.generated.p = x - want_result: - - x: eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJhdWQiOiBbImJvYiIsICJzYXVsIl0sICJleHAiOiAxMzAwODE5MzgwLCAiaHR0cDovL2V4YW1wbGUuY29tL2lzX3Jvb3QiOiB0cnVlLCAiaXNzIjogImpvZSIsICJwcml2YXRlUGFyYW1zIjogeyJwcml2YXRlX29uZSI6ICJvbmUiLCAicHJpdmF0ZV90d28iOiAidHdvIn19.M10TcaFADr_JYAx7qJ71wktdyuN4IAnhWvVbgrZ5j_4 + p = x { + io.jwt.encode_sign({"alg": "HS256", "typ": "JWT"}, {"aud": ["bob", "saul"], "exp": 1300819380, "http://example.com/is_root": true, "iss": "joe", "privateParams": {"private_one": "one", "private_two": "two"}}, {"k": "AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow", "kty": "oct"}, x) + } + note: jwtencodesign/https://tools.ietf.org/html/rfc7515#appendix-A.1 + query: data.generated.p = x + want_result: + - x: eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJhdWQiOiBbImJvYiIsICJzYXVsIl0sICJleHAiOiAxMzAwODE5MzgwLCAiaHR0cDovL2V4YW1wbGUuY29tL2lzX3Jvb3QiOiB0cnVlLCAiaXNzIjogImpvZSIsICJwcml2YXRlUGFyYW1zIjogeyJwcml2YXRlX29uZSI6ICJvbmUiLCAicHJpdmF0ZV90d28iOiAidHdvIn19.M10TcaFADr_JYAx7qJ71wktdyuN4IAnhWvVbgrZ5j_4 diff --git a/test/cases/testdata/jwtencodesign/test-jwtencodesign-0493.yaml b/test/cases/testdata/jwtencodesign/test-jwtencodesign-0493.yaml index c922d6bd94..9882403b8c 100644 --- a/test/cases/testdata/jwtencodesign/test-jwtencodesign-0493.yaml +++ b/test/cases/testdata/jwtencodesign/test-jwtencodesign-0493.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign({"alg": "HS256", "typ": "JWT"}, {}, {"k": "AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow", "kty": "oct"}, x) - } - note: jwtencodesign/Empty JSON payload - query: data.generated.p = x - want_result: - - x: eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.e30.Odp4A0Fj6NoKsV4Gyoy1NAmSs6KVZiC15S9VRGZyR20 + p = x { + io.jwt.encode_sign({"alg": "HS256", "typ": "JWT"}, {}, {"k": "AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow", "kty": "oct"}, x) + } + note: jwtencodesign/Empty JSON payload + query: data.generated.p = x + want_result: + - x: eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.e30.Odp4A0Fj6NoKsV4Gyoy1NAmSs6KVZiC15S9VRGZyR20 diff --git a/test/cases/testdata/jwtencodesign/test-jwtencodesign-0494.yaml b/test/cases/testdata/jwtencodesign/test-jwtencodesign-0494.yaml index 87da035a68..398bd7eceb 100644 --- a/test/cases/testdata/jwtencodesign/test-jwtencodesign-0494.yaml +++ b/test/cases/testdata/jwtencodesign/test-jwtencodesign-0494.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign({"alg": "RS256"}, {"aud": ["bob", "saul"], "exp": 1300819380, "http://example.com/is_root": true, "iss": "joe", "privateParams": {"private_one": "one", "private_two": "two"}}, {"d": "Eq5xpGnNCivDflJsRQBXHx1hdR1k6Ulwe2JZD50LpXyWPEAeP88vLNO97IjlA7_GQ5sLKMgvfTeXZx9SE-7YwVol2NXOoAJe46sui395IW_GO-pWJ1O0BkTGoVEn2bKVRUCgu-GjBVaYLU6f3l9kJfFNS3E0QbVdxzubSu3Mkqzjkn439X0M_V51gfpRLI9JYanrC4D4qAdGcopV_0ZHHzQlBjudU2QvXt4ehNYTCBr6XCLQUShb1juUO1ZdiYoFaFQT5Tw8bGUl_x_jTj3ccPDVZFD9pIuhLhBOneufuBiB4cS98l2SR_RQyGWSeWjnczT0QU91p1DhOVRuOopznQ", "dp": "BwKfV3Akq5_MFZDFZCnW-wzl-CCo83WoZvnLQwCTeDv8uzluRSnm71I3QCLdhrqE2e9YkxvuxdBfpT_PI7Yz-FOKnu1R6HsJeDCjn12Sk3vmAktV2zb34MCdy7cpdTh_YVr7tss2u6vneTwrA86rZtu5Mbr1C1XsmvkxHQAdYo0", "dq": "h_96-mK1R_7glhsum81dZxjTnYynPbZpHziZjeeHcXYsXaaMwkOlODsWa7I9xXDoRwbKgB719rrmI2oKr6N3Do9U0ajaHF-NKJnwgjMd2w9cjz3_-kyNlxAr2v4IKhGNpmM5iIgOS1VZnOZ68m6_pbLBSp3nssTdlqvd0tIiTHU", "e": "AQAB", "kty": "RSA", "n": "ofgWCuLjybRlzo0tZWJjNiuSfb4p4fAkd_wWJcyQoTbji9k0l8W26mPddxHmfHQp-Vaw-4qPCJrcS2mJPMEzP1Pt0Bm4d4QlL-yRT-SFd2lZS-pCgNMsD1W_YpRPEwOWvG6b32690r2jZ47soMZo9wGzjb_7OMg0LOL-bSf63kpaSHSXndS5z5rexMdbBYUsLA9e-KXBdQOS-UTo7WTBEMa2R2CapHg665xsmtdVMTBQY4uDZlxvb3qCo5ZwKh9kG4LT6_I5IhlJH7aGhyxXFvUK-DWNmoudF8NAco9_h9iaGNj8q2ethFkMLs91kzk2PAcDTW9gb54h4FRWyuXpoQ", "p": "4BzEEOtIpmVdVEZNCqS7baC4crd0pqnRH_5IB3jw3bcxGn6QLvnEtfdUdiYrqBdss1l58BQ3KhooKeQTa9AB0Hw_Py5PJdTJNPY8cQn7ouZ2KKDcmnPGBY5t7yLc1QlQ5xHdwW1VhvKn-nXqhJTBgIPgtldC-KDV5z-y2XDwGUc", "q": "uQPEfgmVtjL0Uyyx88GZFF1fOunH3-7cepKmtH4pxhtCoHqpWmT8YAmZxaewHgHAjLYsp1ZSe7zFYHj7C6ul7TjeLQeZD_YwD66t62wDmpe_HlB-TnBA-njbglfIsRLtXlnDzQkv5dTltRJ11BKBBypeeF6689rjcJIDEz9RWdc", "qi": "IYd7DHOhrWvxkwPQsRM2tOgrjbcrfvtQJipd-DlcxyVuuM9sQLdgjVk2oy26F0EmpScGLq2MowX7fhd_QJQ3ydy5cY7YIBi87w93IKLEdfnbJtoOPLUW0ITrJReOgo1cq9SbsxYawBgfp_gh6A5603k2-ZQwVK0JKSHuLFkuQ3U"}, x) - } - note: jwtencodesign/https://tools.ietf.org/html/rfc7515#appendix-A.2 - query: data.generated.p = x - want_result: - - x: eyJhbGciOiAiUlMyNTYifQ.eyJhdWQiOiBbImJvYiIsICJzYXVsIl0sICJleHAiOiAxMzAwODE5MzgwLCAiaHR0cDovL2V4YW1wbGUuY29tL2lzX3Jvb3QiOiB0cnVlLCAiaXNzIjogImpvZSIsICJwcml2YXRlUGFyYW1zIjogeyJwcml2YXRlX29uZSI6ICJvbmUiLCAicHJpdmF0ZV90d28iOiAidHdvIn19.ITpfhDICCeVV__1nHRN2CvUFni0yyYESvhNlt4ET0yiySMzJ5iySGynrsM3kgzAv7mVmx5uEtSCs_xPHyLVfVnADKmDFtkZfuvJ8jHfcOe8TUqR1f7j1Zf_kDkdqJAsuGuqkJoFJ3S_gxWcZNwtDXV56O3k_7Mq03Ixuuxtip2oF0X3fB7QtUzjzB8mWPTJDFG2TtLLOYCcobPHmn36aAgesHMzJZj8U8sRLmqPXsIc-Lo_btt8gIUc9zZSgRiy7NOSHxw5mYcIMlKl93qvLXu7AaAcVLvzlIOCGWEnFpGGcRFgSOLnShQX6hDylWavKLQG-VOUJKmtXH99KBK-OYQ + p = x { + io.jwt.encode_sign({"alg": "RS256"}, {"aud": ["bob", "saul"], "exp": 1300819380, "http://example.com/is_root": true, "iss": "joe", "privateParams": {"private_one": "one", "private_two": "two"}}, {"d": "Eq5xpGnNCivDflJsRQBXHx1hdR1k6Ulwe2JZD50LpXyWPEAeP88vLNO97IjlA7_GQ5sLKMgvfTeXZx9SE-7YwVol2NXOoAJe46sui395IW_GO-pWJ1O0BkTGoVEn2bKVRUCgu-GjBVaYLU6f3l9kJfFNS3E0QbVdxzubSu3Mkqzjkn439X0M_V51gfpRLI9JYanrC4D4qAdGcopV_0ZHHzQlBjudU2QvXt4ehNYTCBr6XCLQUShb1juUO1ZdiYoFaFQT5Tw8bGUl_x_jTj3ccPDVZFD9pIuhLhBOneufuBiB4cS98l2SR_RQyGWSeWjnczT0QU91p1DhOVRuOopznQ", "dp": "BwKfV3Akq5_MFZDFZCnW-wzl-CCo83WoZvnLQwCTeDv8uzluRSnm71I3QCLdhrqE2e9YkxvuxdBfpT_PI7Yz-FOKnu1R6HsJeDCjn12Sk3vmAktV2zb34MCdy7cpdTh_YVr7tss2u6vneTwrA86rZtu5Mbr1C1XsmvkxHQAdYo0", "dq": "h_96-mK1R_7glhsum81dZxjTnYynPbZpHziZjeeHcXYsXaaMwkOlODsWa7I9xXDoRwbKgB719rrmI2oKr6N3Do9U0ajaHF-NKJnwgjMd2w9cjz3_-kyNlxAr2v4IKhGNpmM5iIgOS1VZnOZ68m6_pbLBSp3nssTdlqvd0tIiTHU", "e": "AQAB", "kty": "RSA", "n": "ofgWCuLjybRlzo0tZWJjNiuSfb4p4fAkd_wWJcyQoTbji9k0l8W26mPddxHmfHQp-Vaw-4qPCJrcS2mJPMEzP1Pt0Bm4d4QlL-yRT-SFd2lZS-pCgNMsD1W_YpRPEwOWvG6b32690r2jZ47soMZo9wGzjb_7OMg0LOL-bSf63kpaSHSXndS5z5rexMdbBYUsLA9e-KXBdQOS-UTo7WTBEMa2R2CapHg665xsmtdVMTBQY4uDZlxvb3qCo5ZwKh9kG4LT6_I5IhlJH7aGhyxXFvUK-DWNmoudF8NAco9_h9iaGNj8q2ethFkMLs91kzk2PAcDTW9gb54h4FRWyuXpoQ", "p": "4BzEEOtIpmVdVEZNCqS7baC4crd0pqnRH_5IB3jw3bcxGn6QLvnEtfdUdiYrqBdss1l58BQ3KhooKeQTa9AB0Hw_Py5PJdTJNPY8cQn7ouZ2KKDcmnPGBY5t7yLc1QlQ5xHdwW1VhvKn-nXqhJTBgIPgtldC-KDV5z-y2XDwGUc", "q": "uQPEfgmVtjL0Uyyx88GZFF1fOunH3-7cepKmtH4pxhtCoHqpWmT8YAmZxaewHgHAjLYsp1ZSe7zFYHj7C6ul7TjeLQeZD_YwD66t62wDmpe_HlB-TnBA-njbglfIsRLtXlnDzQkv5dTltRJ11BKBBypeeF6689rjcJIDEz9RWdc", "qi": "IYd7DHOhrWvxkwPQsRM2tOgrjbcrfvtQJipd-DlcxyVuuM9sQLdgjVk2oy26F0EmpScGLq2MowX7fhd_QJQ3ydy5cY7YIBi87w93IKLEdfnbJtoOPLUW0ITrJReOgo1cq9SbsxYawBgfp_gh6A5603k2-ZQwVK0JKSHuLFkuQ3U"}, x) + } + note: jwtencodesign/https://tools.ietf.org/html/rfc7515#appendix-A.2 + query: data.generated.p = x + want_result: + - x: eyJhbGciOiAiUlMyNTYifQ.eyJhdWQiOiBbImJvYiIsICJzYXVsIl0sICJleHAiOiAxMzAwODE5MzgwLCAiaHR0cDovL2V4YW1wbGUuY29tL2lzX3Jvb3QiOiB0cnVlLCAiaXNzIjogImpvZSIsICJwcml2YXRlUGFyYW1zIjogeyJwcml2YXRlX29uZSI6ICJvbmUiLCAicHJpdmF0ZV90d28iOiAidHdvIn19.ITpfhDICCeVV__1nHRN2CvUFni0yyYESvhNlt4ET0yiySMzJ5iySGynrsM3kgzAv7mVmx5uEtSCs_xPHyLVfVnADKmDFtkZfuvJ8jHfcOe8TUqR1f7j1Zf_kDkdqJAsuGuqkJoFJ3S_gxWcZNwtDXV56O3k_7Mq03Ixuuxtip2oF0X3fB7QtUzjzB8mWPTJDFG2TtLLOYCcobPHmn36aAgesHMzJZj8U8sRLmqPXsIc-Lo_btt8gIUc9zZSgRiy7NOSHxw5mYcIMlKl93qvLXu7AaAcVLvzlIOCGWEnFpGGcRFgSOLnShQX6hDylWavKLQG-VOUJKmtXH99KBK-OYQ diff --git a/test/cases/testdata/jwtencodesign/test-jwtencodesign-integer-timestamps.yaml b/test/cases/testdata/jwtencodesign/test-jwtencodesign-integer-timestamps.yaml index 41679ac9cf..0656b981d2 100644 --- a/test/cases/testdata/jwtencodesign/test-jwtencodesign-integer-timestamps.yaml +++ b/test/cases/testdata/jwtencodesign/test-jwtencodesign-integer-timestamps.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package test + - data: {} + modules: + - | + package test - p = x { - now_ns := 1.678e15 - iat := now_ns / 1e6 - exp := iat + 300 - io.jwt.encode_sign({"alg": "HS256", "typ": "JWT"}, {"iat": iat, "exp": exp}, {"k": "AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow", "kty": "oct"}, x) - } - note: jwtencodesign/plain integer timestamps - query: data.test.p = x - want_result: - - x: eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJleHAiOiAxNjc4MDAwMzAwLCAiaWF0IjogMTY3ODAwMDAwMH0.y3F_yHYTv7sT7x9Io1aR_fsMmz9-zhG3P2vw-wVCUCo + p = x { + now_ns := 1.678e15 + iat := now_ns / 1e6 + exp := iat + 300 + io.jwt.encode_sign({"alg": "HS256", "typ": "JWT"}, {"iat": iat, "exp": exp}, {"k": "AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow", "kty": "oct"}, x) + } + note: jwtencodesign/plain integer timestamps + query: data.test.p = x + want_result: + - x: eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJleHAiOiAxNjc4MDAwMzAwLCAiaWF0IjogMTY3ODAwMDAwMH0.y3F_yHYTv7sT7x9Io1aR_fsMmz9-zhG3P2vw-wVCUCo diff --git a/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0379.yaml b/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0379.yaml index 87e34f523a..26b43819f4 100644 --- a/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0379.yaml +++ b/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0379.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign_raw("{\"typ:\"JWT\",\r\n \"alg\":\"HS256\"}", "{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) - } - note: jwtencodesignheadererrors/Unknown signature algorithm - query: data.generated.p = x - strict_error: true - want_error: invalid character - want_error_code: eval_builtin_error + p = x { + io.jwt.encode_sign_raw("{\"typ:\"JWT\",\r\n \"alg\":\"HS256\"}", "{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) + } + note: jwtencodesignheadererrors/Unknown signature algorithm + query: data.generated.p = x + strict_error: true + want_error: invalid character + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0380.yaml b/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0380.yaml index 859b62c9ec..4a8b525654 100644 --- a/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0380.yaml +++ b/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0380.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign_raw("{\"alg\":\"dummy\"}", "{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) - } - note: jwtencodesignheadererrors/unknown signature algorithm - query: data.generated.p = x - strict_error: true - want_error: unknown signature algorithm - want_error_code: eval_builtin_error + p = x { + io.jwt.encode_sign_raw("{\"alg\":\"dummy\"}", "{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) + } + note: jwtencodesignheadererrors/unknown signature algorithm + query: data.generated.p = x + strict_error: true + want_error: unknown signature algorithm + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0381.yaml b/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0381.yaml index e75d24f75a..2f19849a97 100644 --- a/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0381.yaml +++ b/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0381.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign_raw("{}", "{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) - } - note: jwtencodesignheadererrors/Empty JSON header Error - query: data.generated.p = x - strict_error: true - want_error: unsupported signature algorithm - want_error_code: eval_builtin_error + p = x { + io.jwt.encode_sign_raw("{}", "{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) + } + note: jwtencodesignheadererrors/Empty JSON header Error + query: data.generated.p = x + strict_error: true + want_error: unsupported signature algorithm + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0382.yaml b/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0382.yaml index c502c2c3e7..cfc331d9f2 100644 --- a/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0382.yaml +++ b/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0382.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign_raw("", "{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) - } - note: jwtencodesignheadererrors/Empty headers input error - query: data.generated.p = x - strict_error: true - want_error: unexpected end of JSON input - want_error_code: eval_builtin_error + p = x { + io.jwt.encode_sign_raw("", "{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) + } + note: jwtencodesignheadererrors/Empty headers input error + query: data.generated.p = x + strict_error: true + want_error: unexpected end of JSON input + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0383.yaml b/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0383.yaml index 051d20d8a7..4a6f43a3a8 100644 --- a/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0383.yaml +++ b/test/cases/testdata/jwtencodesignheadererrors/test-jwtencodesignheadererrors-0383.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign_raw("e", "{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) - } - note: jwtencodesignheadererrors/No JSON Error - query: data.generated.p = x - strict_error: true - want_error: invalid character - want_error_code: eval_builtin_error + p = x { + io.jwt.encode_sign_raw("e", "{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) + } + note: jwtencodesignheadererrors/No JSON Error + query: data.generated.p = x + strict_error: true + want_error: invalid character + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0376.yaml b/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0376.yaml index 2d6987bc26..f1fc1f7874 100644 --- a/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0376.yaml +++ b/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0376.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign_raw("{\"typ\":\"JWT\",\r\n \"alg\":\"HS256\"}", "", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) - } - note: jwtencodesignpayloaderrors/No Payload - query: data.generated.p = x - strict_error: true - want_error: type is JWT but payload is not JSON - want_error_code: eval_builtin_error + p = x { + io.jwt.encode_sign_raw("{\"typ\":\"JWT\",\r\n \"alg\":\"HS256\"}", "", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) + } + note: jwtencodesignpayloaderrors/No Payload + query: data.generated.p = x + strict_error: true + want_error: type is JWT but payload is not JSON + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0377.yaml b/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0377.yaml index 021b496964..323bd55408 100644 --- a/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0377.yaml +++ b/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0377.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign_raw("{\"typ\":\"JWT\",\r\n \"alg\":\"HS256\"}", "{\"iss:\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) - } - note: jwtencodesignpayloaderrors/Payload JSON Error - query: data.generated.p = x - strict_error: true - want_error: type is JWT but payload is not JSON - want_error_code: eval_builtin_error + p = x { + io.jwt.encode_sign_raw("{\"typ\":\"JWT\",\r\n \"alg\":\"HS256\"}", "{\"iss:\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) + } + note: jwtencodesignpayloaderrors/Payload JSON Error + query: data.generated.p = x + strict_error: true + want_error: type is JWT but payload is not JSON + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0378.yaml b/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0378.yaml index 384a8375a9..32077c1e2a 100644 --- a/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0378.yaml +++ b/test/cases/testdata/jwtencodesignpayloaderrors/test-jwtencodesignpayloaderrors-0378.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.encode_sign_raw("{\"typ\":\"JWT\",\r\n \"alg\":\"HS256\"}", "e", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) - } - note: jwtencodesignpayloaderrors/Non JSON Error - query: data.generated.p = x - strict_error: true - want_error: type is JWT but payload is not JSON - want_error_code: eval_builtin_error + p = x { + io.jwt.encode_sign_raw("{\"typ\":\"JWT\",\r\n \"alg\":\"HS256\"}", "e", "{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\n}", x) + } + note: jwtencodesignpayloaderrors/Non JSON Error + query: data.generated.p = x + strict_error: true + want_error: type is JWT but payload is not JSON + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0384.yaml b/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0384.yaml index f10c77bd95..9579bdb99d 100644 --- a/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0384.yaml +++ b/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0384.yaml @@ -1,11 +1,12 @@ +--- cases: -- data: {} - modules: - - "package generated\n\np = x {\n io.jwt.encode_sign_raw(`{\"typ\":\"JWT\",\r\n\ - \ \"alg\":\"HS256\"}`, `{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\"\ - :true}`, `{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\ - \n}`, x)\n}\n" - note: jwtencodesignraw/https://tools.ietf.org/html/rfc7515#appendix-A.1 - query: data.generated.p = x - want_result: - - x: eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk + - data: {} + modules: + - "package generated\n\np = x {\n io.jwt.encode_sign_raw(`{\"typ\":\"JWT\",\r\n\ + \ \"alg\":\"HS256\"}`, `{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\"\ + :true}`, `{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\ + \n}`, x)\n}\n" + note: jwtencodesignraw/https://tools.ietf.org/html/rfc7515#appendix-A.1 + query: data.generated.p = x + want_result: + - x: eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk diff --git a/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0385.yaml b/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0385.yaml index 5a25286751..22f852f5db 100644 --- a/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0385.yaml +++ b/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0385.yaml @@ -1,10 +1,11 @@ +--- cases: -- data: {} - modules: - - "package generated\n\np = x {\n io.jwt.encode_sign_raw(`{\"typ\":\"text/plain\"\ - ,\r\n \"alg\":\"HS256\"}`, ``, `{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\ - \n}`, x)\n}\n" - note: jwtencodesignraw/No Payload but Media Type is Plain - query: data.generated.p = x - want_result: - - x: eyJ0eXAiOiJ0ZXh0L3BsYWluIiwNCiAiYWxnIjoiSFMyNTYifQ..sXoGQMWwM-SmX495-htA7kndgbkwz1PnqsDeY275gnI + - data: {} + modules: + - "package generated\n\np = x {\n io.jwt.encode_sign_raw(`{\"typ\":\"text/plain\"\ + ,\r\n \"alg\":\"HS256\"}`, ``, `{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\ + \n}`, x)\n}\n" + note: jwtencodesignraw/No Payload but Media Type is Plain + query: data.generated.p = x + want_result: + - x: eyJ0eXAiOiJ0ZXh0L3BsYWluIiwNCiAiYWxnIjoiSFMyNTYifQ..sXoGQMWwM-SmX495-htA7kndgbkwz1PnqsDeY275gnI diff --git a/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0386.yaml b/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0386.yaml index f53c39953e..e4502eb37d 100644 --- a/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0386.yaml +++ b/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0386.yaml @@ -1,10 +1,11 @@ +--- cases: -- data: {} - modules: - - "package generated\n\np = x {\n io.jwt.encode_sign_raw(`{\"typ\":\"text/plain\"\ - ,\r\n \"alg\":\"HS256\"}`, `e`, `{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\ - \n}`, x)\n}\n" - note: jwtencodesignraw/text/plain media type - query: data.generated.p = x - want_result: - - x: eyJ0eXAiOiJ0ZXh0L3BsYWluIiwNCiAiYWxnIjoiSFMyNTYifQ.ZQ.oO8Vnc4Jv7-J231a1bEcQrgXfKbNW-kEvVY7BP1v5rM + - data: {} + modules: + - "package generated\n\np = x {\n io.jwt.encode_sign_raw(`{\"typ\":\"text/plain\"\ + ,\r\n \"alg\":\"HS256\"}`, `e`, `{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\ + \n}`, x)\n}\n" + note: jwtencodesignraw/text/plain media type + query: data.generated.p = x + want_result: + - x: eyJ0eXAiOiJ0ZXh0L3BsYWluIiwNCiAiYWxnIjoiSFMyNTYifQ.ZQ.oO8Vnc4Jv7-J231a1bEcQrgXfKbNW-kEvVY7BP1v5rM diff --git a/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0387.yaml b/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0387.yaml index a782bb93cc..86cbacf6a4 100644 --- a/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0387.yaml +++ b/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0387.yaml @@ -1,10 +1,11 @@ +--- cases: -- data: {} - modules: - - "package generated\n\np = x {\n io.jwt.encode_sign_raw(`{\"typ\":\"JWT\",\r\n\ - \ \"alg\":\"HS256\"}`, `{}`, `{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\ - \n}`, x)\n}\n" - note: jwtencodesignraw/Empty JSON payload - query: data.generated.p = x - want_result: - - x: eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.e30.KAml6HRetE0sq22SYNh_CQExhf-X31ChYTfGwUBIWu8 + - data: {} + modules: + - "package generated\n\np = x {\n io.jwt.encode_sign_raw(`{\"typ\":\"JWT\",\r\n\ + \ \"alg\":\"HS256\"}`, `{}`, `{\n\"kty\":\"oct\",\n\"k\":\"AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow\"\ + \n}`, x)\n}\n" + note: jwtencodesignraw/Empty JSON payload + query: data.generated.p = x + want_result: + - x: eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.e30.KAml6HRetE0sq22SYNh_CQExhf-X31ChYTfGwUBIWu8 diff --git a/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0388.yaml b/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0388.yaml index ce6eea5c02..12095dfaf2 100644 --- a/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0388.yaml +++ b/test/cases/testdata/jwtencodesignraw/test-jwtencodesignraw-0388.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - "package generated\n\np = x {\n io.jwt.encode_sign_raw(`{\"alg\":\"RS256\"}`,\ - \ `{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\"\ - :true}`, `{\n \"kty\":\"RSA\",\n \"n\":\"ofgWCuLjybRlzo0tZWJjNiuSfb4p4fAkd_wWJcyQoTbji9k0l8W26mPddxHmfHQp-Vaw-4qPCJrcS2mJPMEzP1Pt0Bm4d4QlL-yRT-SFd2lZS-pCgNMsD1W_YpRPEwOWvG6b32690r2jZ47soMZo9wGzjb_7OMg0LOL-bSf63kpaSHSXndS5z5rexMdbBYUsLA9e-KXBdQOS-UTo7WTBEMa2R2CapHg665xsmtdVMTBQY4uDZlxvb3qCo5ZwKh9kG4LT6_I5IhlJH7aGhyxXFvUK-DWNmoudF8NAco9_h9iaGNj8q2ethFkMLs91kzk2PAcDTW9gb54h4FRWyuXpoQ\"\ - ,\n \"e\":\"AQAB\",\n \"d\":\"Eq5xpGnNCivDflJsRQBXHx1hdR1k6Ulwe2JZD50LpXyWPEAeP88vLNO97IjlA7_GQ5sLKMgvfTeXZx9SE-7YwVol2NXOoAJe46sui395IW_GO-pWJ1O0BkTGoVEn2bKVRUCgu-GjBVaYLU6f3l9kJfFNS3E0QbVdxzubSu3Mkqzjkn439X0M_V51gfpRLI9JYanrC4D4qAdGcopV_0ZHHzQlBjudU2QvXt4ehNYTCBr6XCLQUShb1juUO1ZdiYoFaFQT5Tw8bGUl_x_jTj3ccPDVZFD9pIuhLhBOneufuBiB4cS98l2SR_RQyGWSeWjnczT0QU91p1DhOVRuOopznQ\"\ - ,\n \"p\":\"4BzEEOtIpmVdVEZNCqS7baC4crd0pqnRH_5IB3jw3bcxGn6QLvnEtfdUdiYrqBdss1l58BQ3KhooKeQTa9AB0Hw_Py5PJdTJNPY8cQn7ouZ2KKDcmnPGBY5t7yLc1QlQ5xHdwW1VhvKn-nXqhJTBgIPgtldC-KDV5z-y2XDwGUc\"\ - ,\n \"q\":\"uQPEfgmVtjL0Uyyx88GZFF1fOunH3-7cepKmtH4pxhtCoHqpWmT8YAmZxaewHgHAjLYsp1ZSe7zFYHj7C6ul7TjeLQeZD_YwD66t62wDmpe_HlB-TnBA-njbglfIsRLtXlnDzQkv5dTltRJ11BKBBypeeF6689rjcJIDEz9RWdc\"\ - ,\n \"dp\":\"BwKfV3Akq5_MFZDFZCnW-wzl-CCo83WoZvnLQwCTeDv8uzluRSnm71I3QCLdhrqE2e9YkxvuxdBfpT_PI7Yz-FOKnu1R6HsJeDCjn12Sk3vmAktV2zb34MCdy7cpdTh_YVr7tss2u6vneTwrA86rZtu5Mbr1C1XsmvkxHQAdYo0\"\ - ,\n \"dq\":\"h_96-mK1R_7glhsum81dZxjTnYynPbZpHziZjeeHcXYsXaaMwkOlODsWa7I9xXDoRwbKgB719rrmI2oKr6N3Do9U0ajaHF-NKJnwgjMd2w9cjz3_-kyNlxAr2v4IKhGNpmM5iIgOS1VZnOZ68m6_pbLBSp3nssTdlqvd0tIiTHU\"\ - ,\n \"qi\":\"IYd7DHOhrWvxkwPQsRM2tOgrjbcrfvtQJipd-DlcxyVuuM9sQLdgjVk2oy26F0EmpScGLq2MowX7fhd_QJQ3ydy5cY7YIBi87w93IKLEdfnbJtoOPLUW0ITrJReOgo1cq9SbsxYawBgfp_gh6A5603k2-ZQwVK0JKSHuLFkuQ3U\"\ - \n }`, x)\n}\n" - note: jwtencodesignraw/https://tools.ietf.org/html/rfc7515#appendix-A.2 - query: data.generated.p = x - want_result: - - x: eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.cC4hiUPoj9Eetdgtv3hF80EGrhuB__dzERat0XF9g2VtQgr9PJbu3XOiZj5RZmh7AAuHIm4Bh-0Qc_lF5YKt_O8W2Fp5jujGbds9uJdbF9CUAr7t1dnZcAcQjbKBYNX4BAynRFdiuB--f_nZLgrnbyTyWzO75vRK5h6xBArLIARNPvkSjtQBMHlb1L07Qe7K0GarZRmB_eSN9383LcOLn6_dO--xi12jzDwusC-eOkHWEsqtFZESc6BfI7noOPqvhJ1phCnvWh6IeYI2w9QOYEUipUTI8np6LbgGY9Fs98rqVt5AXLIhWkWywlVmtVrBp0igcN_IoypGlUPQGe77Rw + - data: {} + modules: + - "package generated\n\np = x {\n io.jwt.encode_sign_raw(`{\"alg\":\"RS256\"}`,\ + \ `{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\"\ + :true}`, `{\n \"kty\":\"RSA\",\n \"n\":\"ofgWCuLjybRlzo0tZWJjNiuSfb4p4fAkd_wWJcyQoTbji9k0l8W26mPddxHmfHQp-Vaw-4qPCJrcS2mJPMEzP1Pt0Bm4d4QlL-yRT-SFd2lZS-pCgNMsD1W_YpRPEwOWvG6b32690r2jZ47soMZo9wGzjb_7OMg0LOL-bSf63kpaSHSXndS5z5rexMdbBYUsLA9e-KXBdQOS-UTo7WTBEMa2R2CapHg665xsmtdVMTBQY4uDZlxvb3qCo5ZwKh9kG4LT6_I5IhlJH7aGhyxXFvUK-DWNmoudF8NAco9_h9iaGNj8q2ethFkMLs91kzk2PAcDTW9gb54h4FRWyuXpoQ\"\ + ,\n \"e\":\"AQAB\",\n \"d\":\"Eq5xpGnNCivDflJsRQBXHx1hdR1k6Ulwe2JZD50LpXyWPEAeP88vLNO97IjlA7_GQ5sLKMgvfTeXZx9SE-7YwVol2NXOoAJe46sui395IW_GO-pWJ1O0BkTGoVEn2bKVRUCgu-GjBVaYLU6f3l9kJfFNS3E0QbVdxzubSu3Mkqzjkn439X0M_V51gfpRLI9JYanrC4D4qAdGcopV_0ZHHzQlBjudU2QvXt4ehNYTCBr6XCLQUShb1juUO1ZdiYoFaFQT5Tw8bGUl_x_jTj3ccPDVZFD9pIuhLhBOneufuBiB4cS98l2SR_RQyGWSeWjnczT0QU91p1DhOVRuOopznQ\"\ + ,\n \"p\":\"4BzEEOtIpmVdVEZNCqS7baC4crd0pqnRH_5IB3jw3bcxGn6QLvnEtfdUdiYrqBdss1l58BQ3KhooKeQTa9AB0Hw_Py5PJdTJNPY8cQn7ouZ2KKDcmnPGBY5t7yLc1QlQ5xHdwW1VhvKn-nXqhJTBgIPgtldC-KDV5z-y2XDwGUc\"\ + ,\n \"q\":\"uQPEfgmVtjL0Uyyx88GZFF1fOunH3-7cepKmtH4pxhtCoHqpWmT8YAmZxaewHgHAjLYsp1ZSe7zFYHj7C6ul7TjeLQeZD_YwD66t62wDmpe_HlB-TnBA-njbglfIsRLtXlnDzQkv5dTltRJ11BKBBypeeF6689rjcJIDEz9RWdc\"\ + ,\n \"dp\":\"BwKfV3Akq5_MFZDFZCnW-wzl-CCo83WoZvnLQwCTeDv8uzluRSnm71I3QCLdhrqE2e9YkxvuxdBfpT_PI7Yz-FOKnu1R6HsJeDCjn12Sk3vmAktV2zb34MCdy7cpdTh_YVr7tss2u6vneTwrA86rZtu5Mbr1C1XsmvkxHQAdYo0\"\ + ,\n \"dq\":\"h_96-mK1R_7glhsum81dZxjTnYynPbZpHziZjeeHcXYsXaaMwkOlODsWa7I9xXDoRwbKgB719rrmI2oKr6N3Do9U0ajaHF-NKJnwgjMd2w9cjz3_-kyNlxAr2v4IKhGNpmM5iIgOS1VZnOZ68m6_pbLBSp3nssTdlqvd0tIiTHU\"\ + ,\n \"qi\":\"IYd7DHOhrWvxkwPQsRM2tOgrjbcrfvtQJipd-DlcxyVuuM9sQLdgjVk2oy26F0EmpScGLq2MowX7fhd_QJQ3ydy5cY7YIBi87w93IKLEdfnbJtoOPLUW0ITrJReOgo1cq9SbsxYawBgfp_gh6A5603k2-ZQwVK0JKSHuLFkuQ3U\"\ + \n }`, x)\n}\n" + note: jwtencodesignraw/https://tools.ietf.org/html/rfc7515#appendix-A.2 + query: data.generated.p = x + want_result: + - x: eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.cC4hiUPoj9Eetdgtv3hF80EGrhuB__dzERat0XF9g2VtQgr9PJbu3XOiZj5RZmh7AAuHIm4Bh-0Qc_lF5YKt_O8W2Fp5jujGbds9uJdbF9CUAr7t1dnZcAcQjbKBYNX4BAynRFdiuB--f_nZLgrnbyTyWzO75vRK5h6xBArLIARNPvkSjtQBMHlb1L07Qe7K0GarZRmB_eSN9383LcOLn6_dO--xi12jzDwusC-eOkHWEsqtFZESc6BfI7noOPqvhJ1phCnvWh6IeYI2w9QOYEUipUTI8np6LbgGY9Fs98rqVt5AXLIhWkWywlVmtVrBp0igcN_IoypGlUPQGe77Rw diff --git a/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0440.yaml b/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0440.yaml index 696b0f6943..e923fc49a2 100644 --- a/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0440.yaml +++ b/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0440.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_hs256("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWxpY2UiLCJhenAiOiJhbGljZSIsInN1Ym9yZGluYXRlcyI6W10sImhyIjpmYWxzZX0.rz3jTY033z-NrKfwrK89_dcLF7TN4gwCMj-fVBDyLoM", "secret", x) - } - note: jwtverifyhs256/success - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_hs256("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWxpY2UiLCJhenAiOiJhbGljZSIsInN1Ym9yZGluYXRlcyI6W10sImhyIjpmYWxzZX0.rz3jTY033z-NrKfwrK89_dcLF7TN4gwCMj-fVBDyLoM", "secret", x) + } + note: jwtverifyhs256/success + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0441.yaml b/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0441.yaml index 4b54ab1328..9eb60d4d07 100644 --- a/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0441.yaml +++ b/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0441.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_hs256("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWxpY2UiLCJhenAiOiJhbGljZSIsInN1Ym9yZGluYXRlcyI6W10sImhyIjpmYWxzZX0.R0NDxM1gHTucWQKwayMDre2PbMNR9K9efmOfygDZWcE", "secret", x) - } - note: jwtverifyhs256/failure-bad token - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_hs256("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWxpY2UiLCJhenAiOiJhbGljZSIsInN1Ym9yZGluYXRlcyI6W10sImhyIjpmYWxzZX0.R0NDxM1gHTucWQKwayMDre2PbMNR9K9efmOfygDZWcE", "secret", x) + } + note: jwtverifyhs256/failure-bad token + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0442.yaml b/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0442.yaml index 4ccb0f4ea4..00b8ac1fe4 100644 --- a/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0442.yaml +++ b/test/cases/testdata/jwtverifyhs256/test-jwtverifyhs256-0442.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_hs256("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWxpY2UiLCJhenAiOiJhbGljZSIsInN1Ym9yZGluYXRlcyI6W10sImhyIjpmYWxzZX0", "secret", x) - } - note: jwtverifyhs256/failure-invalid token - query: data.generated.p = x - strict_error: true - want_error: encoded JWT must have 3 sections, found 2 - want_error_code: eval_builtin_error + p = x { + io.jwt.verify_hs256("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWxpY2UiLCJhenAiOiJhbGljZSIsInN1Ym9yZGluYXRlcyI6W10sImhyIjpmYWxzZX0", "secret", x) + } + note: jwtverifyhs256/failure-invalid token + query: data.generated.p = x + strict_error: true + want_error: encoded JWT must have 3 sections, found 2 + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0443.yaml b/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0443.yaml index 3cfd67fc35..924168e61b 100644 --- a/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0443.yaml +++ b/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0443.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_hs384("eyJhbGciOiJIUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.g98lHYzuqINVppLMoEZT7jlpX0IBSo9zKGoN9DhQg7Ua3YjLXbJMjzESjIHXOGLB", "secret", x) - } - note: jwtverifyhs384/success - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_hs384("eyJhbGciOiJIUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.g98lHYzuqINVppLMoEZT7jlpX0IBSo9zKGoN9DhQg7Ua3YjLXbJMjzESjIHXOGLB", "secret", x) + } + note: jwtverifyhs384/success + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0444.yaml b/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0444.yaml index 89e0ba1612..4b15ead88c 100644 --- a/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0444.yaml +++ b/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0444.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_hs384("eyJhbGciOiJIUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.g98lHYzuqINVppLMoEZT7jlpX0IBSo9zKGoN9DhQg7Ua3YjLXbJMjzESjIHXOBAD", "secret", x) - } - note: jwtverifyhs384/failure-bad token - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_hs384("eyJhbGciOiJIUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.g98lHYzuqINVppLMoEZT7jlpX0IBSo9zKGoN9DhQg7Ua3YjLXbJMjzESjIHXOBAD", "secret", x) + } + note: jwtverifyhs384/failure-bad token + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0445.yaml b/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0445.yaml index ea9d885722..ade1fc5c3e 100644 --- a/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0445.yaml +++ b/test/cases/testdata/jwtverifyhs384/test-jwtverifyhs384-0445.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_hs384("eyJhbGciOiJIUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0", "secret", x) - } - note: jwtverifyhs384/failure-invalid token - query: data.generated.p = x - strict_error: true - want_error: encoded JWT must have 3 sections, found 2 - want_error_code: eval_builtin_error + p = x { + io.jwt.verify_hs384("eyJhbGciOiJIUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0", "secret", x) + } + note: jwtverifyhs384/failure-invalid token + query: data.generated.p = x + strict_error: true + want_error: encoded JWT must have 3 sections, found 2 + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0446.yaml b/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0446.yaml index 3a9cb8b873..bf0807d44f 100644 --- a/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0446.yaml +++ b/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0446.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_hs512("eyJhbGciOiJIUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.F6-xviRhK2OLcJJHFivhQqMN_dgX5boDrwbVKkdo9flQQNk-AaKpH3uYycFvBEd_erVefcsri_PkL4fjLSZ7ZA", "secret", x) - } - note: jwtverifyhs512/success - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_hs512("eyJhbGciOiJIUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.F6-xviRhK2OLcJJHFivhQqMN_dgX5boDrwbVKkdo9flQQNk-AaKpH3uYycFvBEd_erVefcsri_PkL4fjLSZ7ZA", "secret", x) + } + note: jwtverifyhs512/success + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0447.yaml b/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0447.yaml index 1630d745cb..61d1d39459 100644 --- a/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0447.yaml +++ b/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0447.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_hs512("eyJhbGciOiJIUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.F6-xviRhK2OLcJJHFivhQqMN_dgX5boDrwbVKkdo9flQQNk-AaKpH3uYycFvBEd_erVefcsri_PkL4fjLSZBAD", "secret", x) - } - note: jwtverifyhs512/failure-bad token - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_hs512("eyJhbGciOiJIUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.F6-xviRhK2OLcJJHFivhQqMN_dgX5boDrwbVKkdo9flQQNk-AaKpH3uYycFvBEd_erVefcsri_PkL4fjLSZBAD", "secret", x) + } + note: jwtverifyhs512/failure-bad token + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0448.yaml b/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0448.yaml index 3f3c42adca..8d81fd0a33 100644 --- a/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0448.yaml +++ b/test/cases/testdata/jwtverifyhs512/test-jwtverifyhs512-0448.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_hs512("eyJhbGciOiJIUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0", "secret", x) - } - note: jwtverifyhs512/failure-invalid token - query: data.generated.p = x - strict_error: true - want_error: encoded JWT must have 3 sections, found 2 - want_error_code: eval_builtin_error + p = x { + io.jwt.verify_hs512("eyJhbGciOiJIUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0", "secret", x) + } + note: jwtverifyhs512/failure-invalid token + query: data.generated.p = x + strict_error: true + want_error: encoded JWT must have 3 sections, found 2 + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0401.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0401.yaml index ecb720686b..a11f03a9ca 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0401.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0401.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/success-cert - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/success-cert + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0402.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0402.yaml index 17fba965b3..b864ff785e 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0402.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0402.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA7nJwME0QNM6g0Ou9SyljlcIY4cnBcs8oWVHe74bJ7JTgYmDOk2CA14RE3wJNkUKERP/cRdesKDA/BToJXJUroYvhjXxUYn+i3wK5vOGRY9WUtTF9paIIpIV4USUOwDh3ufhA9K3tyh+ZVsqn80em0Lj2ME0EgScuk6u0/UYjjNvcmnQl+uDmghG8xBZh7TZW2+aceMwlb4LJIP36VRhgjKQGIxg2rW8ROXgJaFbNRCbiOUUqlq9SUZuhHo8TNOARXXxp9R4Fq7Cl7ZbwWtNPwAtM1y+Z+iyu/i91m0YLlU2XBOGLu9IA8IZjPlbCnk/SygpV9NNwTY9DSQ0QfXcPTGlsbFwzRzTlhH25wEl3j+2Ub9w/NX7Yo+j/Ei9eGZ8cq0bcvEwDeIo98HeNZWrLUUArayRYvh8zutOlzqehw8waFk9AxpfEp9oWekSz8gZw9OL773EhnglYxxjkPHNzk66CufLuTEf6uE9NLE5HnlQMbiqBFirIyAWGKyU3v2tphKvcogxmzzWA51p0GY0lGZvlLNt2NrJv2oGecyl3BLqHnBi+rGAosa/8XgfQT8RIk7YR/tDPDmPfaqSIc0po+NcHYEH82Yv+gfKSK++1fyssGCsSRJs8PFMuPGgv62fFrE/EHSsHJaNWojSYce/Trxm2RaHhw/8O4oKcfrbaRf8CAwEAAQ==\n-----END PUBLIC KEY-----", x) - } - note: jwtverifyrsa/success-cert - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA7nJwME0QNM6g0Ou9SyljlcIY4cnBcs8oWVHe74bJ7JTgYmDOk2CA14RE3wJNkUKERP/cRdesKDA/BToJXJUroYvhjXxUYn+i3wK5vOGRY9WUtTF9paIIpIV4USUOwDh3ufhA9K3tyh+ZVsqn80em0Lj2ME0EgScuk6u0/UYjjNvcmnQl+uDmghG8xBZh7TZW2+aceMwlb4LJIP36VRhgjKQGIxg2rW8ROXgJaFbNRCbiOUUqlq9SUZuhHo8TNOARXXxp9R4Fq7Cl7ZbwWtNPwAtM1y+Z+iyu/i91m0YLlU2XBOGLu9IA8IZjPlbCnk/SygpV9NNwTY9DSQ0QfXcPTGlsbFwzRzTlhH25wEl3j+2Ub9w/NX7Yo+j/Ei9eGZ8cq0bcvEwDeIo98HeNZWrLUUArayRYvh8zutOlzqehw8waFk9AxpfEp9oWekSz8gZw9OL773EhnglYxxjkPHNzk66CufLuTEf6uE9NLE5HnlQMbiqBFirIyAWGKyU3v2tphKvcogxmzzWA51p0GY0lGZvlLNt2NrJv2oGecyl3BLqHnBi+rGAosa/8XgfQT8RIk7YR/tDPDmPfaqSIc0po+NcHYEH82Yv+gfKSK++1fyssGCsSRJs8PFMuPGgv62fFrE/EHSsHJaNWojSYce/Trxm2RaHhw/8O4oKcfrbaRf8CAwEAAQ==\n-----END PUBLIC KEY-----", x) + } + note: jwtverifyrsa/success-cert + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0403.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0403.yaml index 915f291ef3..c1a39b1fd9 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0403.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0403.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", `{"kty":"RSA","e":"AQAB","kid":"4db88b6b-cda9-4242-b79e-51346edc313c","n":"7nJwME0QNM6g0Ou9SyljlcIY4cnBcs8oWVHe74bJ7JTgYmDOk2CA14RE3wJNkUKERP_cRdesKDA_BToJXJUroYvhjXxUYn-i3wK5vOGRY9WUtTF9paIIpIV4USUOwDh3ufhA9K3tyh-ZVsqn80em0Lj2ME0EgScuk6u0_UYjjNvcmnQl-uDmghG8xBZh7TZW2-aceMwlb4LJIP36VRhgjKQGIxg2rW8ROXgJaFbNRCbiOUUqlq9SUZuhHo8TNOARXXxp9R4Fq7Cl7ZbwWtNPwAtM1y-Z-iyu_i91m0YLlU2XBOGLu9IA8IZjPlbCnk_SygpV9NNwTY9DSQ0QfXcPTGlsbFwzRzTlhH25wEl3j-2Ub9w_NX7Yo-j_Ei9eGZ8cq0bcvEwDeIo98HeNZWrLUUArayRYvh8zutOlzqehw8waFk9AxpfEp9oWekSz8gZw9OL773EhnglYxxjkPHNzk66CufLuTEf6uE9NLE5HnlQMbiqBFirIyAWGKyU3v2tphKvcogxmzzWA51p0GY0lGZvlLNt2NrJv2oGecyl3BLqHnBi-rGAosa_8XgfQT8RIk7YR_tDPDmPfaqSIc0po-NcHYEH82Yv-gfKSK--1fyssGCsSRJs8PFMuPGgv62fFrE_EHSsHJaNWojSYce_Trxm2RaHhw_8O4oKcfrbaRf8"}`, x) - } - note: jwtverifyrsa/success-jwk - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", `{"kty":"RSA","e":"AQAB","kid":"4db88b6b-cda9-4242-b79e-51346edc313c","n":"7nJwME0QNM6g0Ou9SyljlcIY4cnBcs8oWVHe74bJ7JTgYmDOk2CA14RE3wJNkUKERP_cRdesKDA_BToJXJUroYvhjXxUYn-i3wK5vOGRY9WUtTF9paIIpIV4USUOwDh3ufhA9K3tyh-ZVsqn80em0Lj2ME0EgScuk6u0_UYjjNvcmnQl-uDmghG8xBZh7TZW2-aceMwlb4LJIP36VRhgjKQGIxg2rW8ROXgJaFbNRCbiOUUqlq9SUZuhHo8TNOARXXxp9R4Fq7Cl7ZbwWtNPwAtM1y-Z-iyu_i91m0YLlU2XBOGLu9IA8IZjPlbCnk_SygpV9NNwTY9DSQ0QfXcPTGlsbFwzRzTlhH25wEl3j-2Ub9w_NX7Yo-j_Ei9eGZ8cq0bcvEwDeIo98HeNZWrLUUArayRYvh8zutOlzqehw8waFk9AxpfEp9oWekSz8gZw9OL773EhnglYxxjkPHNzk66CufLuTEf6uE9NLE5HnlQMbiqBFirIyAWGKyU3v2tphKvcogxmzzWA51p0GY0lGZvlLNt2NrJv2oGecyl3BLqHnBi-rGAosa_8XgfQT8RIk7YR_tDPDmPfaqSIc0po-NcHYEH82Yv-gfKSK--1fyssGCsSRJs8PFMuPGgv62fFrE_EHSsHJaNWojSYce_Trxm2RaHhw_8O4oKcfrbaRf8"}`, x) + } + note: jwtverifyrsa/success-jwk + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0404.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0404.yaml index 0d3f78b72e..13a68c5bc3 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0404.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0404.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps256("eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJQUzI1NiJ9.eyJuYmYiOiAxNDQ0NDc4NDAwLCAiZm9vIjogImJhciJ9.i0F3MHWzOsBNLqjQzK1UVeQid9xPMowCoUsoM-C2BDxUY-FMKmCeJ1NJ4TGnS9HzFK1ftEvRnPT7EOxOkHPoCk1rz3feTFgtHtNzQqLM1IBTnz6aHHOrda_bKPHH9ZIYCRQUPXhpC90ivW_IJR-f7Z1WLrMXaJ71i1XteruENHrJJJDn0HedHG6N0VHugBHrak5k57cbE31utAdx83TEd8v2Y8wAkCJXKrdmTa-8419LNxW_yjkvoDD53n3X5CHhYkSymU77p0v6yWO38qDWeKJ-Fm_PrMAo72_rizDBj_yPa5LA3bT_EnsgZtC-sp8_SCDIH41bjiCGpRHhqgZmyw", "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/success-ps256-cert - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_ps256("eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJQUzI1NiJ9.eyJuYmYiOiAxNDQ0NDc4NDAwLCAiZm9vIjogImJhciJ9.i0F3MHWzOsBNLqjQzK1UVeQid9xPMowCoUsoM-C2BDxUY-FMKmCeJ1NJ4TGnS9HzFK1ftEvRnPT7EOxOkHPoCk1rz3feTFgtHtNzQqLM1IBTnz6aHHOrda_bKPHH9ZIYCRQUPXhpC90ivW_IJR-f7Z1WLrMXaJ71i1XteruENHrJJJDn0HedHG6N0VHugBHrak5k57cbE31utAdx83TEd8v2Y8wAkCJXKrdmTa-8419LNxW_yjkvoDD53n3X5CHhYkSymU77p0v6yWO38qDWeKJ-Fm_PrMAo72_rizDBj_yPa5LA3bT_EnsgZtC-sp8_SCDIH41bjiCGpRHhqgZmyw", "-----BEGIN CERTIFICATE-----\nMIIC/DCCAeSgAwIBAgIJAJRvYDU3ei3EMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNV\nBAMMCHdoYXRldmVyMB4XDTE4MDgxMDEwMzgxNloXDTE4MDkwOTEwMzgxNlowEzER\nMA8GA1UEAwwId2hhdGV2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC4kCmzLMW/5jzkzkmN7Me8wPD+ymBUIjsGqliGfMrfFfDV2eTPVtZcYD3IXoB4\nAOUT7XJzWjOsBRFOcVKKEiCPjXiLcwLb/QWQ1x0Budft32r3+N0KQd1rgcRHTPNc\nJoeWCfOgDPp51RTzTT6HQuV4ud+CDhRJP7QMVMIgal9Nuzs49LLZaBPW8/rFsHjk\nJQ4kDujSrpcT6F2FZY3SmWsOJgP7RjVKk5BheYeFKav5ZV4p6iHn/TN4RVpvpNBh\n5z/XoHITJ6lpkHSDpbIaQUTpobU2um8N3biz+HsEAmD9Laa27WUpYSpiM6DDMSXl\ndBDJdumerVRJvXYCtfXqtl17AgMBAAGjUzBRMB0GA1UdDgQWBBRz74MkVzT2K52/\nFJC4mTa9coM/DTAfBgNVHSMEGDAWgBRz74MkVzT2K52/FJC4mTa9coM/DTAPBgNV\nHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD1ZE4IaIAetqGG+vt9oz1\nIx0j4EPok0ONyhhmiSsF6rSv8zlNWweVf5y6Z+AoTNY1Fym0T7dbpbqIox0EdKV3\nFLzniWOjznupbnqfXwHX/g1UAZSyt3akSatVhvNpGlnd7efTIAiNinX/TkzIjhZ7\nihMIZCGykT1P0ys1OaeEf57wAzviatD4pEMTIW0OOqY8bdRGhuJR1kKUZ/2Nm8Ln\ny7E0y8uODVbH9cAwGyzWB/QFc+bffNgi9uJaPQQc5Zxwpu9utlqyzFvXgV7MBYUK\nEYSLyxp4g4e5aujtLugaC8H6n9vP1mEBr/+T8HGynBZHNTKlDhhL9qDbpkkNB6/w\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/success-ps256-cert + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0405.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0405.yaml index 7fce39710d..2c273b1b05 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0405.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0405.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps256("eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJQUzI1NiJ9.eyJuYmYiOiAxNDQ0NDc4NDAwLCAiZm9vIjogImJhciJ9.i0F3MHWzOsBNLqjQzK1UVeQid9xPMowCoUsoM-C2BDxUY-FMKmCeJ1NJ4TGnS9HzFK1ftEvRnPT7EOxOkHPoCk1rz3feTFgtHtNzQqLM1IBTnz6aHHOrda_bKPHH9ZIYCRQUPXhpC90ivW_IJR-f7Z1WLrMXaJ71i1XteruENHrJJJDn0HedHG6N0VHugBHrak5k57cbE31utAdx83TEd8v2Y8wAkCJXKrdmTa-8419LNxW_yjkvoDD53n3X5CHhYkSymU77p0v6yWO38qDWeKJ-Fm_PrMAo72_rizDBj_yPa5LA3bT_EnsgZtC-sp8_SCDIH41bjiCGpRHhqgZmyw", `{"kty":"RSA","e":"AQAB","kid":"bf688c97-bf51-49ba-b9d3-115195bb0eb8","n":"uJApsyzFv-Y85M5JjezHvMDw_spgVCI7BqpYhnzK3xXw1dnkz1bWXGA9yF6AeADlE-1yc1ozrAURTnFSihIgj414i3MC2_0FkNcdAbnX7d9q9_jdCkHda4HER0zzXCaHlgnzoAz6edUU800-h0LleLnfgg4UST-0DFTCIGpfTbs7OPSy2WgT1vP6xbB45CUOJA7o0q6XE-hdhWWN0plrDiYD-0Y1SpOQYXmHhSmr-WVeKeoh5_0zeEVab6TQYec_16ByEyepaZB0g6WyGkFE6aG1NrpvDd24s_h7BAJg_S2mtu1lKWEqYjOgwzEl5XQQyXbpnq1USb12ArX16rZdew"}`, x) - } - note: jwtverifyrsa/success-ps256-jwk - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_ps256("eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJQUzI1NiJ9.eyJuYmYiOiAxNDQ0NDc4NDAwLCAiZm9vIjogImJhciJ9.i0F3MHWzOsBNLqjQzK1UVeQid9xPMowCoUsoM-C2BDxUY-FMKmCeJ1NJ4TGnS9HzFK1ftEvRnPT7EOxOkHPoCk1rz3feTFgtHtNzQqLM1IBTnz6aHHOrda_bKPHH9ZIYCRQUPXhpC90ivW_IJR-f7Z1WLrMXaJ71i1XteruENHrJJJDn0HedHG6N0VHugBHrak5k57cbE31utAdx83TEd8v2Y8wAkCJXKrdmTa-8419LNxW_yjkvoDD53n3X5CHhYkSymU77p0v6yWO38qDWeKJ-Fm_PrMAo72_rizDBj_yPa5LA3bT_EnsgZtC-sp8_SCDIH41bjiCGpRHhqgZmyw", `{"kty":"RSA","e":"AQAB","kid":"bf688c97-bf51-49ba-b9d3-115195bb0eb8","n":"uJApsyzFv-Y85M5JjezHvMDw_spgVCI7BqpYhnzK3xXw1dnkz1bWXGA9yF6AeADlE-1yc1ozrAURTnFSihIgj414i3MC2_0FkNcdAbnX7d9q9_jdCkHda4HER0zzXCaHlgnzoAz6edUU800-h0LleLnfgg4UST-0DFTCIGpfTbs7OPSy2WgT1vP6xbB45CUOJA7o0q6XE-hdhWWN0plrDiYD-0Y1SpOQYXmHhSmr-WVeKeoh5_0zeEVab6TQYec_16ByEyepaZB0g6WyGkFE6aG1NrpvDd24s_h7BAJg_S2mtu1lKWEqYjOgwzEl5XQQyXbpnq1USb12ArX16rZdew"}`, x) + } + note: jwtverifyrsa/success-ps256-jwk + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0406.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0406.yaml index 1ab1394f7e..3db04d72e8 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0406.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0406.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_es256("eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJFUzI1NiJ9.eyJuYmYiOiAxNDQ0NDc4NDAwLCAiaXNzIjogInh4eCJ9.lArczfN-pIL8oUU-7PU83u-zfXougXBZj6drFeKFsPEoVhy9WAyiZlRshYqjTSXdaw8yw2L-ovt4zTUZb2PWMg", "-----BEGIN CERTIFICATE-----\nMIIBcDCCARagAwIBAgIJAMZmuGSIfvgzMAoGCCqGSM49BAMCMBMxETAPBgNVBAMM\nCHdoYXRldmVyMB4XDTE4MDgxMDE0Mjg1NFoXDTE4MDkwOTE0Mjg1NFowEzERMA8G\nA1UEAwwId2hhdGV2ZXIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATPwn3WCEXL\nmjp/bFniDwuwsfu7bASlPae2PyWhqGeWwe23Xlyx+tSqxlkXYe4pZ23BkAAscpGj\nyn5gXHExyDlKo1MwUTAdBgNVHQ4EFgQUElRjSoVgKjUqY5AXz2o74cLzzS8wHwYD\nVR0jBBgwFoAUElRjSoVgKjUqY5AXz2o74cLzzS8wDwYDVR0TAQH/BAUwAwEB/zAK\nBggqhkjOPQQDAgNIADBFAiEA4yQ/88ZrUX68c6kOe9G11u8NUaUzd8pLOtkKhniN\nOHoCIHmNX37JOqTcTzGn2u9+c8NlnvZ0uDvsd1BmKPaUmjmm\n-----END CERTIFICATE-----\n", x) - } - note: jwtverifyrsa/success-es256-cert - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_es256("eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJFUzI1NiJ9.eyJuYmYiOiAxNDQ0NDc4NDAwLCAiaXNzIjogInh4eCJ9.lArczfN-pIL8oUU-7PU83u-zfXougXBZj6drFeKFsPEoVhy9WAyiZlRshYqjTSXdaw8yw2L-ovt4zTUZb2PWMg", "-----BEGIN CERTIFICATE-----\nMIIBcDCCARagAwIBAgIJAMZmuGSIfvgzMAoGCCqGSM49BAMCMBMxETAPBgNVBAMM\nCHdoYXRldmVyMB4XDTE4MDgxMDE0Mjg1NFoXDTE4MDkwOTE0Mjg1NFowEzERMA8G\nA1UEAwwId2hhdGV2ZXIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATPwn3WCEXL\nmjp/bFniDwuwsfu7bASlPae2PyWhqGeWwe23Xlyx+tSqxlkXYe4pZ23BkAAscpGj\nyn5gXHExyDlKo1MwUTAdBgNVHQ4EFgQUElRjSoVgKjUqY5AXz2o74cLzzS8wHwYD\nVR0jBBgwFoAUElRjSoVgKjUqY5AXz2o74cLzzS8wDwYDVR0TAQH/BAUwAwEB/zAK\nBggqhkjOPQQDAgNIADBFAiEA4yQ/88ZrUX68c6kOe9G11u8NUaUzd8pLOtkKhniN\nOHoCIHmNX37JOqTcTzGn2u9+c8NlnvZ0uDvsd1BmKPaUmjmm\n-----END CERTIFICATE-----\n", x) + } + note: jwtverifyrsa/success-es256-cert + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0407.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0407.yaml index 4078450627..14019d18a9 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0407.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0407.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_es256("eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJFUzI1NiJ9.eyJuYmYiOiAxNDQ0NDc4NDAwLCAiaXNzIjogInh4eCJ9.lArczfN-pIL8oUU-7PU83u-zfXougXBZj6drFeKFsPEoVhy9WAyiZlRshYqjTSXdaw8yw2L-ovt4zTUZb2PWMg", `{"kty":"EC","crv":"P-256","x":"z8J91ghFy5o6f2xZ4g8LsLH7u2wEpT2ntj8loahnlsE","y":"7bdeXLH61KrGWRdh7ilnbcGQACxykaPKfmBccTHIOUo"}`, x) - } - note: jwtverifyrsa/success-es256-jwk - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_es256("eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJFUzI1NiJ9.eyJuYmYiOiAxNDQ0NDc4NDAwLCAiaXNzIjogInh4eCJ9.lArczfN-pIL8oUU-7PU83u-zfXougXBZj6drFeKFsPEoVhy9WAyiZlRshYqjTSXdaw8yw2L-ovt4zTUZb2PWMg", `{"kty":"EC","crv":"P-256","x":"z8J91ghFy5o6f2xZ4g8LsLH7u2wEpT2ntj8loahnlsE","y":"7bdeXLH61KrGWRdh7ilnbcGQACxykaPKfmBccTHIOUo"}`, x) + } + note: jwtverifyrsa/success-es256-jwk + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0408.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0408.yaml index f9031f175b..640d634b13 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0408.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0408.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.Yt89BjaPCNgol478rYyH66-XgkHos02TsVwxLH3ZlvOoIVjbhYW8q1_MHehct1-yBf1UOX3g-lUrIjpoDtX1TfAESuaWTjYPixRvjfJ-Nn75JF8QuAl5PD27C6aJ4PjUPNfj0kwYBnNQ_oX-ZFb781xRi7qRDB6swE4eBUxzHqKUJBLaMM2r8k1-9iE3ERNeqTJUhV__p0aSyRj-i62rdZ4TC5nhxtWodiGP4e4GrYlXkdaKduK63cfdJF-kfZfTsoDs_xy84pZOkzlflxuNv9bNqd-3ISAdWe4gsEvWWJ8v70-QWkydnH8rhj95DaqoXrjfzbOgDpKtdxJC4daVPKvntykzrxKhZ9UtWzm3OvJSKeyWujFZlldiTfBLqNDgdi-Boj_VxO5Pdh-67lC3L-pBMm4BgUqf6rakBQvoH7AV6zD5CbFixh7DuqJ4eJHHItWzJwDctMrV3asm-uOE1E2B7GErGo3iX6S9Iun_kvRUp6kyvOaDq5VvXzQOKyLQIQyHGGs0aIV5cFI2IuO5Rt0uUj5mzPQrQWHgI4r6Mc5bzmq2QLxBQE8OJ1RFhRpsuoWQyDM8aRiMQIJe1g3x4dnxbJK4dYheYblKHFepScYqT1hllDp3oUNn89sIjQIhJTe8KFATu4K8ppluys7vhpE2a_tq8i5O0MFxWmsxN4Q", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-bad token - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.Yt89BjaPCNgol478rYyH66-XgkHos02TsVwxLH3ZlvOoIVjbhYW8q1_MHehct1-yBf1UOX3g-lUrIjpoDtX1TfAESuaWTjYPixRvjfJ-Nn75JF8QuAl5PD27C6aJ4PjUPNfj0kwYBnNQ_oX-ZFb781xRi7qRDB6swE4eBUxzHqKUJBLaMM2r8k1-9iE3ERNeqTJUhV__p0aSyRj-i62rdZ4TC5nhxtWodiGP4e4GrYlXkdaKduK63cfdJF-kfZfTsoDs_xy84pZOkzlflxuNv9bNqd-3ISAdWe4gsEvWWJ8v70-QWkydnH8rhj95DaqoXrjfzbOgDpKtdxJC4daVPKvntykzrxKhZ9UtWzm3OvJSKeyWujFZlldiTfBLqNDgdi-Boj_VxO5Pdh-67lC3L-pBMm4BgUqf6rakBQvoH7AV6zD5CbFixh7DuqJ4eJHHItWzJwDctMrV3asm-uOE1E2B7GErGo3iX6S9Iun_kvRUp6kyvOaDq5VvXzQOKyLQIQyHGGs0aIV5cFI2IuO5Rt0uUj5mzPQrQWHgI4r6Mc5bzmq2QLxBQE8OJ1RFhRpsuoWQyDM8aRiMQIJe1g3x4dnxbJK4dYheYblKHFepScYqT1hllDp3oUNn89sIjQIhJTe8KFATu4K8ppluys7vhpE2a_tq8i5O0MFxWmsxN4Q", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-bad token + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0409.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0409.yaml index 1dfda0a826..598199da3f 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0409.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0409.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps256("eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJQUzI1NiJ9.eyJuYmYiOiAxNDQ0NDc4NDAwLCAiZm9vIjogImJhciJ9.i0F3MHWzOsBNLqjQzK1UVeQid9xPMowCoUsoM-C2BDxUY-FMKmCeJ1NJ4TGnS9HzFK1ftEvRnPT7EOxOkHPoCk1rz3feTFgtHtNzQqLM1IBTnz6aHHOrda_bKPHH9ZIYCRQUPXhpC90ivW_IJR-f7Z1WLrMXaJ71i1XteruENHrJJJDn0HedHG6N0VHugBHrak5k57cbE31utAdx83TEd8v2Y8wAkCJXKrdmTa-8419LNxW_yjkvoDD53n3X5CHhYkSymU77p0v6yWO38qDWeKJ-Fm_PrMAo72_rizDBj_yPa5LA3bT_EnsgZtC-sp8_SCDIH41bjiCGpRHhqgZmyw", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-wrong key - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_ps256("eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJQUzI1NiJ9.eyJuYmYiOiAxNDQ0NDc4NDAwLCAiZm9vIjogImJhciJ9.i0F3MHWzOsBNLqjQzK1UVeQid9xPMowCoUsoM-C2BDxUY-FMKmCeJ1NJ4TGnS9HzFK1ftEvRnPT7EOxOkHPoCk1rz3feTFgtHtNzQqLM1IBTnz6aHHOrda_bKPHH9ZIYCRQUPXhpC90ivW_IJR-f7Z1WLrMXaJ71i1XteruENHrJJJDn0HedHG6N0VHugBHrak5k57cbE31utAdx83TEd8v2Y8wAkCJXKrdmTa-8419LNxW_yjkvoDD53n3X5CHhYkSymU77p0v6yWO38qDWeKJ-Fm_PrMAo72_rizDBj_yPa5LA3bT_EnsgZtC-sp8_SCDIH41bjiCGpRHhqgZmyw", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-wrong key + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0410.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0410.yaml index cf4de8b17b..4630da949d 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0410.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0410.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-wrong alg - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_ps256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-wrong alg + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0411.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0411.yaml index 17612d41a8..f7ed3fba0b 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0411.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0411.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-invalid token - query: data.generated.p = x - strict_error: true - want_error: encoded JWT must have 3 sections, found 2 - want_error_code: eval_builtin_error + p = x { + io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-invalid token + query: data.generated.p = x + strict_error: true + want_error: encoded JWT must have 3 sections, found 2 + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0412.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0412.yaml index 04c1781865..0f66c97828 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0412.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0412.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN CERT-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERT-----", x) - } - note: jwtverifyrsa/failure-bad pem certificate block - query: data.generated.p = x - strict_error: true - want_error: failed to extract a Key from the PEM certificate - want_error_code: eval_builtin_error + p = x { + io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN CERT-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERT-----", x) + } + note: jwtverifyrsa/failure-bad pem certificate block + query: data.generated.p = x + strict_error: true + want_error: failed to extract a Key from the PEM certificate + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0413.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0413.yaml index 5cf90feeff..d61d76791d 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0413.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0413.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----\nEXTRA", x) - } - note: jwtverifyrsa/failure-extra data after pem certificate block - query: data.generated.p = x - strict_error: true - want_error: extra data after a PEM certificate block - want_error_code: eval_builtin_error + p = x { + io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----\nEXTRA", x) + } + note: jwtverifyrsa/failure-extra data after pem certificate block + query: data.generated.p = x + strict_error: true + want_error: extra data after a PEM certificate block + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0414.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0414.yaml index 03a8174363..5a88f20480 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0414.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0414.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN CERTIFICATE-----\ndeadiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-bad pem certificate - query: data.generated.p = x - strict_error: true - want_error: failed to parse a PEM certificate - want_error_code: eval_builtin_error + p = x { + io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", "-----BEGIN CERTIFICATE-----\ndeadiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-bad pem certificate + query: data.generated.p = x + strict_error: true + want_error: failed to parse a PEM certificate + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0415.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0415.yaml index bf890d78da..902a9b0fcc 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0415.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0415.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", `{"kty":"bogus key type","e":"AQAB","kid":"4db88b6b-cda9-4242-b79e-51346edc313c","n":"7nJwME0QNM6g0Ou9SyljlcIY4cnBcs8oWVHe74bJ7JTgYmDOk2CA14RE3wJNkUKERP_cRdesKDA_BToJXJUroYvhjXxUYn-i3wK5vOGRY9WUtTF9paIIpIV4USUOwDh3ufhA9K3tyh-ZVsqn80em0Lj2ME0EgScuk6u0_UYjjNvcmnQl-uDmghG8xBZh7TZW2-aceMwlb4LJIP36VRhgjKQGIxg2rW8ROXgJaFbNRCbiOUUqlq9SUZuhHo8TNOARXXxp9R4Fq7Cl7ZbwWtNPwAtM1y-Z-iyu_i91m0YLlU2XBOGLu9IA8IZjPlbCnk_SygpV9NNwTY9DSQ0QfXcPTGlsbFwzRzTlhH25wEl3j-2Ub9w_NX7Yo-j_Ei9eGZ8cq0bcvEwDeIo98HeNZWrLUUArayRYvh8zutOlzqehw8waFk9AxpfEp9oWekSz8gZw9OL773EhnglYxxjkPHNzk66CufLuTEf6uE9NLE5HnlQMbiqBFirIyAWGKyU3v2tphKvcogxmzzWA51p0GY0lGZvlLNt2NrJv2oGecyl3BLqHnBi-rGAosa_8XgfQT8RIk7YR_tDPDmPfaqSIc0po-NcHYEH82Yv-gfKSK--1fyssGCsSRJs8PFMuPGgv62fFrE_EHSsHJaNWojSYce_Trxm2RaHhw_8O4oKcfrbaRf8"}`, x) - } - note: jwtverifyrsa/failure-bad jwk key - query: data.generated.p = x - strict_error: true - want_error: failed to parse a JWK key (set) - want_error_code: eval_builtin_error + p = x { + io.jwt.verify_rs256("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.N0-EVdv5pvUfZYFRzMGnsWpNLHgwMEgViPwpuLBEtt32682OgnOK-N4X-2gpQEjQIbUr0IFym8YsRQU9GZvqQP72Sd6yOQNGSNeE74DpUZCAjBa9SBIb1UlD2MxZB-e7YJiEyo7pZhimaqorXrgorlaXYGMvsCFWDYmBLzGaGYaGJyEpkZHzHb7ujsDrJJjdEtDV3kh13gTHzLPvqnoXuuxelXye_8LPIhvgDy52gT4shUEso71pJCMv_IqAR19ljVE17lJzoi6VhRn6ReNUE-yg4KfCO4Ypnuu-mcQr7XtmSYoWkX72L5UQ-EyWkoz-w0SYKoJTPzHkTL2thYStksVpeNkGuck25aUdtrQgmPbao0QOWBFlkg03e6mPCD2-aXOt1ofth9mZGjxWMHX-mUqHaNmaWM3WhRztJ73hWrmB1YOdYQtOEHejfvR_td5tqIw4W6ufRy2ScOypGQe7kNaUZxpgxZ1927ZGNiQgawIOAQwXOcFx1JNSEIeg55-cYJrHPxsXGOB9ZxW-qnswmFJp474iUVXjzGhLexJDXBwvKGs_O3JFjMsvyV9_hm7bnQU0vG_HgPYs5i9VOHRMujq1vFBcm52TFVOBGdWaGfb9RRdLLYvVkJLk0Poh19rsCWb7-Vc3mAaGGpvuk4Wv-PnGGNC-V-FQqIbijHDrn_g", `{"kty":"bogus key type","e":"AQAB","kid":"4db88b6b-cda9-4242-b79e-51346edc313c","n":"7nJwME0QNM6g0Ou9SyljlcIY4cnBcs8oWVHe74bJ7JTgYmDOk2CA14RE3wJNkUKERP_cRdesKDA_BToJXJUroYvhjXxUYn-i3wK5vOGRY9WUtTF9paIIpIV4USUOwDh3ufhA9K3tyh-ZVsqn80em0Lj2ME0EgScuk6u0_UYjjNvcmnQl-uDmghG8xBZh7TZW2-aceMwlb4LJIP36VRhgjKQGIxg2rW8ROXgJaFbNRCbiOUUqlq9SUZuhHo8TNOARXXxp9R4Fq7Cl7ZbwWtNPwAtM1y-Z-iyu_i91m0YLlU2XBOGLu9IA8IZjPlbCnk_SygpV9NNwTY9DSQ0QfXcPTGlsbFwzRzTlhH25wEl3j-2Ub9w_NX7Yo-j_Ei9eGZ8cq0bcvEwDeIo98HeNZWrLUUArayRYvh8zutOlzqehw8waFk9AxpfEp9oWekSz8gZw9OL773EhnglYxxjkPHNzk66CufLuTEf6uE9NLE5HnlQMbiqBFirIyAWGKyU3v2tphKvcogxmzzWA51p0GY0lGZvlLNt2NrJv2oGecyl3BLqHnBi-rGAosa_8XgfQT8RIk7YR_tDPDmPfaqSIc0po-NcHYEH82Yv-gfKSK--1fyssGCsSRJs8PFMuPGgv62fFrE_EHSsHJaNWojSYce_Trxm2RaHhw_8O4oKcfrbaRf8"}`, x) + } + note: jwtverifyrsa/failure-bad jwk key + query: data.generated.p = x + strict_error: true + want_error: failed to parse a JWK key (set) + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0416.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0416.yaml index 5577200e6e..da3915e230 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0416.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0416.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs384("eyJhbGciOiJSUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.b__y2zjqMoD7iWbHeQ0lNpnche3ph5-AwrIQICLMQQGtEz9WMBteHydkC5g01bm3TBX1d04Z5IEOsuK6btAtWma04c5NYqaUyNEUJKYCFoY02uH0jGdGfL6R5Kkv0lkNvN0s3Nex9jMaVVgqx8bcrOU0uRBFT67sXcm11LHaB9BwKFslolzHClxgXy5RIZb4OFk_7Yk7xTC6PcvEWkkGR9uXBhfDEig5WqdwOWPeulimvARDw14U35rzeh9xpGAPjBKeE-y20fXAk0cSF1H69C-Qa1jDQheYIrAJ6XMYGNZWuay5-smmeefe67eweEt1q-AD1NFepqkmZX382DGuYQ", "-----BEGIN CERTIFICATE-----\nMIIDXDCCAkSgAwIBAgIBLjANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJVUzEV\nMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMD\nRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MDg1MTAzWhcNMjAwNTA3\nMTA1MTAzWjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4w\nDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3Qw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDeRmygX/fOOUu5Wm91PFNo\nsHDG1CzG9a1iKBjUeMgi9bXXScUfatPmsNlxb56uSi0RXUsvJmY/yxkIIhRyapxW\n49j2idAM3SGGL1nOZf/XdpDHYsAFFZ237HGb8DOEk/p3xCFv0tH/iQ+kLP36EM1+\ntn6BfUXdJnVyvkSK2iMNeRY7A4DMX7sGX39LXsVJiCokIC8E0QUFrSjvrAm9ejKE\ntPojydo4c3VUxLfmFuyMXoD3bfk1Jv5i2J5RjtomjgK6zNCvgYzpspiodHChkzlU\nX8yk2YqlAHX3XdJA94LaDE2kNXiOQnFkUb8GsP7hmEbwGtMUEQie+jfgKplxJ49B\nAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAM\nBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQC9f2/kxT7DnQ94ownhHvd6\nrzk1WirI90rFM2MxhfkaDrOHhSGZL9nDf6TIZ4qeFKZXthpKxpiZm2Oxmn+vUsik\nW6bYjq1nX0GCchQLaaFf9Jh1IOLwkfoBdX55tV8xUGHRWgDlCuGbqiixz+Bm0Kap\nkmbyJynVcoiKhdLyYm/YTn/pC32SJW666reQ+0qCAoxzLQowBetHjwDam9RsDEf4\n+JRDjYPutNXyJ5X8BaBA6PzHanzMG/7RFYcx/2YhXwVxdfPHku4ALJcddIGAGNx2\n5yte+HY0aEu+06J67eD9+4fU7NixRMKigk9KbjqpeWD+0be+VgX8Dot4jaISgI/3\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/success-cert - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_rs384("eyJhbGciOiJSUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.b__y2zjqMoD7iWbHeQ0lNpnche3ph5-AwrIQICLMQQGtEz9WMBteHydkC5g01bm3TBX1d04Z5IEOsuK6btAtWma04c5NYqaUyNEUJKYCFoY02uH0jGdGfL6R5Kkv0lkNvN0s3Nex9jMaVVgqx8bcrOU0uRBFT67sXcm11LHaB9BwKFslolzHClxgXy5RIZb4OFk_7Yk7xTC6PcvEWkkGR9uXBhfDEig5WqdwOWPeulimvARDw14U35rzeh9xpGAPjBKeE-y20fXAk0cSF1H69C-Qa1jDQheYIrAJ6XMYGNZWuay5-smmeefe67eweEt1q-AD1NFepqkmZX382DGuYQ", "-----BEGIN CERTIFICATE-----\nMIIDXDCCAkSgAwIBAgIBLjANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJVUzEV\nMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMD\nRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MDg1MTAzWhcNMjAwNTA3\nMTA1MTAzWjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4w\nDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3Qw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDeRmygX/fOOUu5Wm91PFNo\nsHDG1CzG9a1iKBjUeMgi9bXXScUfatPmsNlxb56uSi0RXUsvJmY/yxkIIhRyapxW\n49j2idAM3SGGL1nOZf/XdpDHYsAFFZ237HGb8DOEk/p3xCFv0tH/iQ+kLP36EM1+\ntn6BfUXdJnVyvkSK2iMNeRY7A4DMX7sGX39LXsVJiCokIC8E0QUFrSjvrAm9ejKE\ntPojydo4c3VUxLfmFuyMXoD3bfk1Jv5i2J5RjtomjgK6zNCvgYzpspiodHChkzlU\nX8yk2YqlAHX3XdJA94LaDE2kNXiOQnFkUb8GsP7hmEbwGtMUEQie+jfgKplxJ49B\nAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAM\nBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQC9f2/kxT7DnQ94ownhHvd6\nrzk1WirI90rFM2MxhfkaDrOHhSGZL9nDf6TIZ4qeFKZXthpKxpiZm2Oxmn+vUsik\nW6bYjq1nX0GCchQLaaFf9Jh1IOLwkfoBdX55tV8xUGHRWgDlCuGbqiixz+Bm0Kap\nkmbyJynVcoiKhdLyYm/YTn/pC32SJW666reQ+0qCAoxzLQowBetHjwDam9RsDEf4\n+JRDjYPutNXyJ5X8BaBA6PzHanzMG/7RFYcx/2YhXwVxdfPHku4ALJcddIGAGNx2\n5yte+HY0aEu+06J67eD9+4fU7NixRMKigk9KbjqpeWD+0be+VgX8Dot4jaISgI/3\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/success-cert + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0417.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0417.yaml index 4b3edcab86..6d8d490fcd 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0417.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0417.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs384("eyJhbGciOiJSUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.b__y2zjqMoD7iWbHeQ0lNpnche3ph5-AwrIQICLMQQGtEz9WMBteHydkC5g01bm3TBX1d04Z5IEOsuK6btAtWma04c5NYqaUyNEUJKYCFoY02uH0jGdGfL6R5Kkv0lkNvN0s3Nex9jMaVVgqx8bcrOU0uRBFT67sXcm11LHaB9BwKFslolzHClxgXy5RIZb4OFk_7Yk7xTC6PcvEWkkGR9uXBhfDEig5WqdwOWPeulimvARDw14U35rzeh9xpGAPjBKeE-y20fXAk0cSF1H69C-Qa1jDQheYIrAJ6XMYGNZWuay5-smmeefe67eweEt1q-AD1NFepqkmZX382DGuYQ", "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3kZsoF/3zjlLuVpvdTxT\naLBwxtQsxvWtYigY1HjIIvW110nFH2rT5rDZcW+erkotEV1LLyZmP8sZCCIUcmqc\nVuPY9onQDN0hhi9ZzmX/13aQx2LABRWdt+xxm/AzhJP6d8Qhb9LR/4kPpCz9+hDN\nfrZ+gX1F3SZ1cr5EitojDXkWOwOAzF+7Bl9/S17FSYgqJCAvBNEFBa0o76wJvXoy\nhLT6I8naOHN1VMS35hbsjF6A9235NSb+YtieUY7aJo4CuszQr4GM6bKYqHRwoZM5\nVF/MpNmKpQB1913SQPeC2gxNpDV4jkJxZFG/BrD+4ZhG8BrTFBEInvo34CqZcSeP\nQQIDAQAB\n-----END PUBLIC KEY-----", x) - } - note: jwtverifyrsa/success-key - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_rs384("eyJhbGciOiJSUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.b__y2zjqMoD7iWbHeQ0lNpnche3ph5-AwrIQICLMQQGtEz9WMBteHydkC5g01bm3TBX1d04Z5IEOsuK6btAtWma04c5NYqaUyNEUJKYCFoY02uH0jGdGfL6R5Kkv0lkNvN0s3Nex9jMaVVgqx8bcrOU0uRBFT67sXcm11LHaB9BwKFslolzHClxgXy5RIZb4OFk_7Yk7xTC6PcvEWkkGR9uXBhfDEig5WqdwOWPeulimvARDw14U35rzeh9xpGAPjBKeE-y20fXAk0cSF1H69C-Qa1jDQheYIrAJ6XMYGNZWuay5-smmeefe67eweEt1q-AD1NFepqkmZX382DGuYQ", "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3kZsoF/3zjlLuVpvdTxT\naLBwxtQsxvWtYigY1HjIIvW110nFH2rT5rDZcW+erkotEV1LLyZmP8sZCCIUcmqc\nVuPY9onQDN0hhi9ZzmX/13aQx2LABRWdt+xxm/AzhJP6d8Qhb9LR/4kPpCz9+hDN\nfrZ+gX1F3SZ1cr5EitojDXkWOwOAzF+7Bl9/S17FSYgqJCAvBNEFBa0o76wJvXoy\nhLT6I8naOHN1VMS35hbsjF6A9235NSb+YtieUY7aJo4CuszQr4GM6bKYqHRwoZM5\nVF/MpNmKpQB1913SQPeC2gxNpDV4jkJxZFG/BrD+4ZhG8BrTFBEInvo34CqZcSeP\nQQIDAQAB\n-----END PUBLIC KEY-----", x) + } + note: jwtverifyrsa/success-key + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0418.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0418.yaml index cf8a4bddfc..5f7ba6f981 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0418.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0418.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs384("eyJhbGciOiJSUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.b__y2zjqMoD7iWbHeQ0lNpnche3ph5-AwrIQICLMQQGtEz9WMBteHydkC5g01bm3TBX1d04Z5IEOsuK6btAtWma04c5NYqaUyNEUJKYCFoY02uH0jGdGfL6R5Kkv0lkNvN0s3Nex9jMaVVgqx8bcrOU0uRBFT67sXcm11LHaB9BwKFslolzHClxgXy5RIZb4OFk_7Yk7xTC6PcvEWkkGR9uXBhfDEig5WqdwOWPeulimvARDw14U35rzeh9xpGAPjBKeE-y20fXAk0cSF1H69C-Qa1jDQheYIrAJ6XMYGNZWuay5-smmeefe67eweEt1q-AD1NFepqkmZX382DGuYQ", `{"kty":"RSA","n":"3kZsoF_3zjlLuVpvdTxTaLBwxtQsxvWtYigY1HjIIvW110nFH2rT5rDZcW-erkotEV1LLyZmP8sZCCIUcmqcVuPY9onQDN0hhi9ZzmX_13aQx2LABRWdt-xxm_AzhJP6d8Qhb9LR_4kPpCz9-hDNfrZ-gX1F3SZ1cr5EitojDXkWOwOAzF-7Bl9_S17FSYgqJCAvBNEFBa0o76wJvXoyhLT6I8naOHN1VMS35hbsjF6A9235NSb-YtieUY7aJo4CuszQr4GM6bKYqHRwoZM5VF_MpNmKpQB1913SQPeC2gxNpDV4jkJxZFG_BrD-4ZhG8BrTFBEInvo34CqZcSePQQ","e":"AQAB"}`, x) - } - note: jwtverifyrsa/success-jwk - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_rs384("eyJhbGciOiJSUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.b__y2zjqMoD7iWbHeQ0lNpnche3ph5-AwrIQICLMQQGtEz9WMBteHydkC5g01bm3TBX1d04Z5IEOsuK6btAtWma04c5NYqaUyNEUJKYCFoY02uH0jGdGfL6R5Kkv0lkNvN0s3Nex9jMaVVgqx8bcrOU0uRBFT67sXcm11LHaB9BwKFslolzHClxgXy5RIZb4OFk_7Yk7xTC6PcvEWkkGR9uXBhfDEig5WqdwOWPeulimvARDw14U35rzeh9xpGAPjBKeE-y20fXAk0cSF1H69C-Qa1jDQheYIrAJ6XMYGNZWuay5-smmeefe67eweEt1q-AD1NFepqkmZX382DGuYQ", `{"kty":"RSA","n":"3kZsoF_3zjlLuVpvdTxTaLBwxtQsxvWtYigY1HjIIvW110nFH2rT5rDZcW-erkotEV1LLyZmP8sZCCIUcmqcVuPY9onQDN0hhi9ZzmX_13aQx2LABRWdt-xxm_AzhJP6d8Qhb9LR_4kPpCz9-hDNfrZ-gX1F3SZ1cr5EitojDXkWOwOAzF-7Bl9_S17FSYgqJCAvBNEFBa0o76wJvXoyhLT6I8naOHN1VMS35hbsjF6A9235NSb-YtieUY7aJo4CuszQr4GM6bKYqHRwoZM5VF_MpNmKpQB1913SQPeC2gxNpDV4jkJxZFG_BrD-4ZhG8BrTFBEInvo34CqZcSePQQ","e":"AQAB"}`, x) + } + note: jwtverifyrsa/success-jwk + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0419.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0419.yaml index 98b9cd90ab..15e7bfd7a6 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0419.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0419.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs384("eyJhbGciOiJSUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.b__y2zjqMoD7iWbHeQ0lNpnche3ph5-AwrIQICLMQQGtEz9WMBteHydkC5g01bm3TBX1d04Z5IEOsuK6btAtWma04c5NYqaUyNEUJKYCFoY02uH0jGdGfL6R5Kkv0lkNvN0s3Nex9jMaVVgqx8bcrOU0uRBFT67sXcm11LHaB9BwKFslolzHClxgXy5RIZb4OFk_7Yk7xTC6PcvEWkkGR9uXBhfDEig5WqdwOWPeulimvARDw14U35rzeh9xpGAPjBKeE-y20fXAk0cSF1H69C-Qa1jDQheYIrAJ6XMYGNZWuay5-smmeefe67eweEt1q-AD1NFepqkmZX382DGuYQ", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-wrong key - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_rs384("eyJhbGciOiJSUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.b__y2zjqMoD7iWbHeQ0lNpnche3ph5-AwrIQICLMQQGtEz9WMBteHydkC5g01bm3TBX1d04Z5IEOsuK6btAtWma04c5NYqaUyNEUJKYCFoY02uH0jGdGfL6R5Kkv0lkNvN0s3Nex9jMaVVgqx8bcrOU0uRBFT67sXcm11LHaB9BwKFslolzHClxgXy5RIZb4OFk_7Yk7xTC6PcvEWkkGR9uXBhfDEig5WqdwOWPeulimvARDw14U35rzeh9xpGAPjBKeE-y20fXAk0cSF1H69C-Qa1jDQheYIrAJ6XMYGNZWuay5-smmeefe67eweEt1q-AD1NFepqkmZX382DGuYQ", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-wrong key + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0420.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0420.yaml index b4775fc2a0..f456f8f157 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0420.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0420.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs512("eyJhbGciOiJSUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VSe3qK5Gp0Q0_5nRgMFu25yw74FIgX-kXPOemSi62l-AxeVdUw8rOpEFrSTCaVjd3mPfKb-B056a-gtrbpXK9sUQnFdqdsyt8gHK-umz5lVyWfoAgj51Ontv-9K_pRORD9wqKqdTLZjCxJ5tyKoO0gY3SwwqSqGrp85vUjvEcK3jbMKINGRUNnOokeSm7byUEJsfKVUbPboSX1TGyvjDOZxxSITj8-bzZZ3F21DJ23N2IiJN7FW8Xj-SYyphXo-ML50o5bjW9YlQ5BDk-RW1I4eE-KpsxhApPv_xIgE8d89PVtXFuoJtv0yLRaZ1q04Fl9KNoMyZrmr349yppn0JlQ", "-----BEGIN CERTIFICATE-----\nMIIDXDCCAkSgAwIBAgIBLjANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJVUzEV\nMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMD\nRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MDg1MTAzWhcNMjAwNTA3\nMTA1MTAzWjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4w\nDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3Qw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDeRmygX/fOOUu5Wm91PFNo\nsHDG1CzG9a1iKBjUeMgi9bXXScUfatPmsNlxb56uSi0RXUsvJmY/yxkIIhRyapxW\n49j2idAM3SGGL1nOZf/XdpDHYsAFFZ237HGb8DOEk/p3xCFv0tH/iQ+kLP36EM1+\ntn6BfUXdJnVyvkSK2iMNeRY7A4DMX7sGX39LXsVJiCokIC8E0QUFrSjvrAm9ejKE\ntPojydo4c3VUxLfmFuyMXoD3bfk1Jv5i2J5RjtomjgK6zNCvgYzpspiodHChkzlU\nX8yk2YqlAHX3XdJA94LaDE2kNXiOQnFkUb8GsP7hmEbwGtMUEQie+jfgKplxJ49B\nAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAM\nBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQC9f2/kxT7DnQ94ownhHvd6\nrzk1WirI90rFM2MxhfkaDrOHhSGZL9nDf6TIZ4qeFKZXthpKxpiZm2Oxmn+vUsik\nW6bYjq1nX0GCchQLaaFf9Jh1IOLwkfoBdX55tV8xUGHRWgDlCuGbqiixz+Bm0Kap\nkmbyJynVcoiKhdLyYm/YTn/pC32SJW666reQ+0qCAoxzLQowBetHjwDam9RsDEf4\n+JRDjYPutNXyJ5X8BaBA6PzHanzMG/7RFYcx/2YhXwVxdfPHku4ALJcddIGAGNx2\n5yte+HY0aEu+06J67eD9+4fU7NixRMKigk9KbjqpeWD+0be+VgX8Dot4jaISgI/3\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/success-cert - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_rs512("eyJhbGciOiJSUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VSe3qK5Gp0Q0_5nRgMFu25yw74FIgX-kXPOemSi62l-AxeVdUw8rOpEFrSTCaVjd3mPfKb-B056a-gtrbpXK9sUQnFdqdsyt8gHK-umz5lVyWfoAgj51Ontv-9K_pRORD9wqKqdTLZjCxJ5tyKoO0gY3SwwqSqGrp85vUjvEcK3jbMKINGRUNnOokeSm7byUEJsfKVUbPboSX1TGyvjDOZxxSITj8-bzZZ3F21DJ23N2IiJN7FW8Xj-SYyphXo-ML50o5bjW9YlQ5BDk-RW1I4eE-KpsxhApPv_xIgE8d89PVtXFuoJtv0yLRaZ1q04Fl9KNoMyZrmr349yppn0JlQ", "-----BEGIN CERTIFICATE-----\nMIIDXDCCAkSgAwIBAgIBLjANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJVUzEV\nMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMD\nRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MDg1MTAzWhcNMjAwNTA3\nMTA1MTAzWjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4w\nDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3Qw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDeRmygX/fOOUu5Wm91PFNo\nsHDG1CzG9a1iKBjUeMgi9bXXScUfatPmsNlxb56uSi0RXUsvJmY/yxkIIhRyapxW\n49j2idAM3SGGL1nOZf/XdpDHYsAFFZ237HGb8DOEk/p3xCFv0tH/iQ+kLP36EM1+\ntn6BfUXdJnVyvkSK2iMNeRY7A4DMX7sGX39LXsVJiCokIC8E0QUFrSjvrAm9ejKE\ntPojydo4c3VUxLfmFuyMXoD3bfk1Jv5i2J5RjtomjgK6zNCvgYzpspiodHChkzlU\nX8yk2YqlAHX3XdJA94LaDE2kNXiOQnFkUb8GsP7hmEbwGtMUEQie+jfgKplxJ49B\nAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAM\nBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQC9f2/kxT7DnQ94ownhHvd6\nrzk1WirI90rFM2MxhfkaDrOHhSGZL9nDf6TIZ4qeFKZXthpKxpiZm2Oxmn+vUsik\nW6bYjq1nX0GCchQLaaFf9Jh1IOLwkfoBdX55tV8xUGHRWgDlCuGbqiixz+Bm0Kap\nkmbyJynVcoiKhdLyYm/YTn/pC32SJW666reQ+0qCAoxzLQowBetHjwDam9RsDEf4\n+JRDjYPutNXyJ5X8BaBA6PzHanzMG/7RFYcx/2YhXwVxdfPHku4ALJcddIGAGNx2\n5yte+HY0aEu+06J67eD9+4fU7NixRMKigk9KbjqpeWD+0be+VgX8Dot4jaISgI/3\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/success-cert + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0421.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0421.yaml index 0237e40f54..286f2f9d0c 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0421.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0421.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs512("eyJhbGciOiJSUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VSe3qK5Gp0Q0_5nRgMFu25yw74FIgX-kXPOemSi62l-AxeVdUw8rOpEFrSTCaVjd3mPfKb-B056a-gtrbpXK9sUQnFdqdsyt8gHK-umz5lVyWfoAgj51Ontv-9K_pRORD9wqKqdTLZjCxJ5tyKoO0gY3SwwqSqGrp85vUjvEcK3jbMKINGRUNnOokeSm7byUEJsfKVUbPboSX1TGyvjDOZxxSITj8-bzZZ3F21DJ23N2IiJN7FW8Xj-SYyphXo-ML50o5bjW9YlQ5BDk-RW1I4eE-KpsxhApPv_xIgE8d89PVtXFuoJtv0yLRaZ1q04Fl9KNoMyZrmr349yppn0JlQ", "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3kZsoF/3zjlLuVpvdTxT\naLBwxtQsxvWtYigY1HjIIvW110nFH2rT5rDZcW+erkotEV1LLyZmP8sZCCIUcmqc\nVuPY9onQDN0hhi9ZzmX/13aQx2LABRWdt+xxm/AzhJP6d8Qhb9LR/4kPpCz9+hDN\nfrZ+gX1F3SZ1cr5EitojDXkWOwOAzF+7Bl9/S17FSYgqJCAvBNEFBa0o76wJvXoy\nhLT6I8naOHN1VMS35hbsjF6A9235NSb+YtieUY7aJo4CuszQr4GM6bKYqHRwoZM5\nVF/MpNmKpQB1913SQPeC2gxNpDV4jkJxZFG/BrD+4ZhG8BrTFBEInvo34CqZcSeP\nQQIDAQAB\n-----END PUBLIC KEY-----", x) - } - note: jwtverifyrsa/success-key - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_rs512("eyJhbGciOiJSUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VSe3qK5Gp0Q0_5nRgMFu25yw74FIgX-kXPOemSi62l-AxeVdUw8rOpEFrSTCaVjd3mPfKb-B056a-gtrbpXK9sUQnFdqdsyt8gHK-umz5lVyWfoAgj51Ontv-9K_pRORD9wqKqdTLZjCxJ5tyKoO0gY3SwwqSqGrp85vUjvEcK3jbMKINGRUNnOokeSm7byUEJsfKVUbPboSX1TGyvjDOZxxSITj8-bzZZ3F21DJ23N2IiJN7FW8Xj-SYyphXo-ML50o5bjW9YlQ5BDk-RW1I4eE-KpsxhApPv_xIgE8d89PVtXFuoJtv0yLRaZ1q04Fl9KNoMyZrmr349yppn0JlQ", "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3kZsoF/3zjlLuVpvdTxT\naLBwxtQsxvWtYigY1HjIIvW110nFH2rT5rDZcW+erkotEV1LLyZmP8sZCCIUcmqc\nVuPY9onQDN0hhi9ZzmX/13aQx2LABRWdt+xxm/AzhJP6d8Qhb9LR/4kPpCz9+hDN\nfrZ+gX1F3SZ1cr5EitojDXkWOwOAzF+7Bl9/S17FSYgqJCAvBNEFBa0o76wJvXoy\nhLT6I8naOHN1VMS35hbsjF6A9235NSb+YtieUY7aJo4CuszQr4GM6bKYqHRwoZM5\nVF/MpNmKpQB1913SQPeC2gxNpDV4jkJxZFG/BrD+4ZhG8BrTFBEInvo34CqZcSeP\nQQIDAQAB\n-----END PUBLIC KEY-----", x) + } + note: jwtverifyrsa/success-key + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0422.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0422.yaml index df57f7b845..104887f3f5 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0422.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0422.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs512("eyJhbGciOiJSUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VSe3qK5Gp0Q0_5nRgMFu25yw74FIgX-kXPOemSi62l-AxeVdUw8rOpEFrSTCaVjd3mPfKb-B056a-gtrbpXK9sUQnFdqdsyt8gHK-umz5lVyWfoAgj51Ontv-9K_pRORD9wqKqdTLZjCxJ5tyKoO0gY3SwwqSqGrp85vUjvEcK3jbMKINGRUNnOokeSm7byUEJsfKVUbPboSX1TGyvjDOZxxSITj8-bzZZ3F21DJ23N2IiJN7FW8Xj-SYyphXo-ML50o5bjW9YlQ5BDk-RW1I4eE-KpsxhApPv_xIgE8d89PVtXFuoJtv0yLRaZ1q04Fl9KNoMyZrmr349yppn0JlQ", `{"kty":"RSA","n":"3kZsoF_3zjlLuVpvdTxTaLBwxtQsxvWtYigY1HjIIvW110nFH2rT5rDZcW-erkotEV1LLyZmP8sZCCIUcmqcVuPY9onQDN0hhi9ZzmX_13aQx2LABRWdt-xxm_AzhJP6d8Qhb9LR_4kPpCz9-hDNfrZ-gX1F3SZ1cr5EitojDXkWOwOAzF-7Bl9_S17FSYgqJCAvBNEFBa0o76wJvXoyhLT6I8naOHN1VMS35hbsjF6A9235NSb-YtieUY7aJo4CuszQr4GM6bKYqHRwoZM5VF_MpNmKpQB1913SQPeC2gxNpDV4jkJxZFG_BrD-4ZhG8BrTFBEInvo34CqZcSePQQ","e":"AQAB"}`, x) - } - note: jwtverifyrsa/success-jwk - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_rs512("eyJhbGciOiJSUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VSe3qK5Gp0Q0_5nRgMFu25yw74FIgX-kXPOemSi62l-AxeVdUw8rOpEFrSTCaVjd3mPfKb-B056a-gtrbpXK9sUQnFdqdsyt8gHK-umz5lVyWfoAgj51Ontv-9K_pRORD9wqKqdTLZjCxJ5tyKoO0gY3SwwqSqGrp85vUjvEcK3jbMKINGRUNnOokeSm7byUEJsfKVUbPboSX1TGyvjDOZxxSITj8-bzZZ3F21DJ23N2IiJN7FW8Xj-SYyphXo-ML50o5bjW9YlQ5BDk-RW1I4eE-KpsxhApPv_xIgE8d89PVtXFuoJtv0yLRaZ1q04Fl9KNoMyZrmr349yppn0JlQ", `{"kty":"RSA","n":"3kZsoF_3zjlLuVpvdTxTaLBwxtQsxvWtYigY1HjIIvW110nFH2rT5rDZcW-erkotEV1LLyZmP8sZCCIUcmqcVuPY9onQDN0hhi9ZzmX_13aQx2LABRWdt-xxm_AzhJP6d8Qhb9LR_4kPpCz9-hDNfrZ-gX1F3SZ1cr5EitojDXkWOwOAzF-7Bl9_S17FSYgqJCAvBNEFBa0o76wJvXoyhLT6I8naOHN1VMS35hbsjF6A9235NSb-YtieUY7aJo4CuszQr4GM6bKYqHRwoZM5VF_MpNmKpQB1913SQPeC2gxNpDV4jkJxZFG_BrD-4ZhG8BrTFBEInvo34CqZcSePQQ","e":"AQAB"}`, x) + } + note: jwtverifyrsa/success-jwk + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0423.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0423.yaml index 0cc908dca6..4917bb1675 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0423.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0423.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_rs512("eyJhbGciOiJSUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VSe3qK5Gp0Q0_5nRgMFu25yw74FIgX-kXPOemSi62l-AxeVdUw8rOpEFrSTCaVjd3mPfKb-B056a-gtrbpXK9sUQnFdqdsyt8gHK-umz5lVyWfoAgj51Ontv-9K_pRORD9wqKqdTLZjCxJ5tyKoO0gY3SwwqSqGrp85vUjvEcK3jbMKINGRUNnOokeSm7byUEJsfKVUbPboSX1TGyvjDOZxxSITj8-bzZZ3F21DJ23N2IiJN7FW8Xj-SYyphXo-ML50o5bjW9YlQ5BDk-RW1I4eE-KpsxhApPv_xIgE8d89PVtXFuoJtv0yLRaZ1q04Fl9KNoMyZrmr349yppn0JlQ", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-wrong key - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_rs512("eyJhbGciOiJSUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VSe3qK5Gp0Q0_5nRgMFu25yw74FIgX-kXPOemSi62l-AxeVdUw8rOpEFrSTCaVjd3mPfKb-B056a-gtrbpXK9sUQnFdqdsyt8gHK-umz5lVyWfoAgj51Ontv-9K_pRORD9wqKqdTLZjCxJ5tyKoO0gY3SwwqSqGrp85vUjvEcK3jbMKINGRUNnOokeSm7byUEJsfKVUbPboSX1TGyvjDOZxxSITj8-bzZZ3F21DJ23N2IiJN7FW8Xj-SYyphXo-ML50o5bjW9YlQ5BDk-RW1I4eE-KpsxhApPv_xIgE8d89PVtXFuoJtv0yLRaZ1q04Fl9KNoMyZrmr349yppn0JlQ", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-wrong key + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0424.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0424.yaml index eab36c3bf2..24782bce3f 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0424.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0424.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps384("eyJhbGciOiJQUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.EHPUvPr6uJOYqdza95WbM1SYD8atZHJEVRggpwOWnHGsjQBoEarJb8QgW7TY22OXwGw2HWluTiyT_MAz02NaHRzZv6AgrmxCLChMWkCHLwPxqjs0xSvVAMLzHHq2X2Bcujo9KORGudR7zKz8pOX5Mfnm7Z6OGtqPCPLaIdVJlddNsG6a571NOuVuDWbcg0omeRDANZpCZMJeAQN2M-4Q61ef6zcQHK1R-QqzBhw6HzMgqR1LRJ0xbrmD-L5o53JM3pV1e1juKNXVK3vWkDQRCQORFn1lyH5isfSsiiHW-x90sUC7TrU_cOji4MMmOCME6kkwxe57ZgpeXtdVTvldpw", "-----BEGIN CERTIFICATE-----\nMIIDXDCCAkSgAwIBAgIBKjANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJVUzEV\nMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMD\nRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MDkxMjU2WhcNMjAwNTA3\nMTExMjU2WjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4w\nDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3Qw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtyVWH2FE8cU8LRcArH4Tw\nDhBOFcmJF28LrvRObcbDYsae6rEwby0aRgSxjTEMgyGBjroBSl22wOSA93kwx4pu\npfXEqbwywn9FhyKBb/OXQSglPmwrpmzQtPJGzBHncL+PPjRhPfqimwf7ZIPKAAgI\nz9O6ppGhE/x4Ct444jthUIBZuG5cUXhgiPBQdIQ3K88QhgVwcufTZkNHj4iSDfhl\nVFDHVjXjd2B/yGODjyv0TyChV0YBNGjMv7YFLWmIFUFzK+6qNSxu4czPtRkyfwaV\n2GW/PBT5f8fc6fKgQZ6k6BLK6+pi0iPh5TUizyHtqtueWDbrJ+wfdJilQS8D+EGr\nAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAM\nBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBgVAM50/0aBTBxESYKIKN4\nE+qbV6aE0C+wYJLet0EWPTxwmFZamq5LNEO/D6xyoY5WHY60EyHRMs0agSB/ATBX\n5ULdEwh9G0NjxqivCcoddQ1fuVS2PrrqNL7VlRnYbTpd8/Dh4qnyl5FltlyZ/29L\ny7BWOwlcBlZdhsfH8svNX4PUxjRD+jmnczCDi7XSOKT8htKUV2ih1c9JrWpIhCi/\nHzEXkaAxNdhBNdIsLQMo3qq9fkSgNZQk9/ecJNPeuJ/UYyr5Xa4PxIWl4U+P7yuI\n+Q3FSPmUbiVsSGqMhh6V/DN8M+T5/KiSB47gFOfxc2/RR5aw4HkSp3WxwbT9njbE\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/success-ps384-cert - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_ps384("eyJhbGciOiJQUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.EHPUvPr6uJOYqdza95WbM1SYD8atZHJEVRggpwOWnHGsjQBoEarJb8QgW7TY22OXwGw2HWluTiyT_MAz02NaHRzZv6AgrmxCLChMWkCHLwPxqjs0xSvVAMLzHHq2X2Bcujo9KORGudR7zKz8pOX5Mfnm7Z6OGtqPCPLaIdVJlddNsG6a571NOuVuDWbcg0omeRDANZpCZMJeAQN2M-4Q61ef6zcQHK1R-QqzBhw6HzMgqR1LRJ0xbrmD-L5o53JM3pV1e1juKNXVK3vWkDQRCQORFn1lyH5isfSsiiHW-x90sUC7TrU_cOji4MMmOCME6kkwxe57ZgpeXtdVTvldpw", "-----BEGIN CERTIFICATE-----\nMIIDXDCCAkSgAwIBAgIBKjANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJVUzEV\nMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMD\nRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MDkxMjU2WhcNMjAwNTA3\nMTExMjU2WjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4w\nDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3Qw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtyVWH2FE8cU8LRcArH4Tw\nDhBOFcmJF28LrvRObcbDYsae6rEwby0aRgSxjTEMgyGBjroBSl22wOSA93kwx4pu\npfXEqbwywn9FhyKBb/OXQSglPmwrpmzQtPJGzBHncL+PPjRhPfqimwf7ZIPKAAgI\nz9O6ppGhE/x4Ct444jthUIBZuG5cUXhgiPBQdIQ3K88QhgVwcufTZkNHj4iSDfhl\nVFDHVjXjd2B/yGODjyv0TyChV0YBNGjMv7YFLWmIFUFzK+6qNSxu4czPtRkyfwaV\n2GW/PBT5f8fc6fKgQZ6k6BLK6+pi0iPh5TUizyHtqtueWDbrJ+wfdJilQS8D+EGr\nAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAM\nBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBgVAM50/0aBTBxESYKIKN4\nE+qbV6aE0C+wYJLet0EWPTxwmFZamq5LNEO/D6xyoY5WHY60EyHRMs0agSB/ATBX\n5ULdEwh9G0NjxqivCcoddQ1fuVS2PrrqNL7VlRnYbTpd8/Dh4qnyl5FltlyZ/29L\ny7BWOwlcBlZdhsfH8svNX4PUxjRD+jmnczCDi7XSOKT8htKUV2ih1c9JrWpIhCi/\nHzEXkaAxNdhBNdIsLQMo3qq9fkSgNZQk9/ecJNPeuJ/UYyr5Xa4PxIWl4U+P7yuI\n+Q3FSPmUbiVsSGqMhh6V/DN8M+T5/KiSB47gFOfxc2/RR5aw4HkSp3WxwbT9njbE\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/success-ps384-cert + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0425.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0425.yaml index 38028b7068..be46c0d1ac 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0425.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0425.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps384("eyJhbGciOiJQUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.EHPUvPr6uJOYqdza95WbM1SYD8atZHJEVRggpwOWnHGsjQBoEarJb8QgW7TY22OXwGw2HWluTiyT_MAz02NaHRzZv6AgrmxCLChMWkCHLwPxqjs0xSvVAMLzHHq2X2Bcujo9KORGudR7zKz8pOX5Mfnm7Z6OGtqPCPLaIdVJlddNsG6a571NOuVuDWbcg0omeRDANZpCZMJeAQN2M-4Q61ef6zcQHK1R-QqzBhw6HzMgqR1LRJ0xbrmD-L5o53JM3pV1e1juKNXVK3vWkDQRCQORFn1lyH5isfSsiiHW-x90sUC7TrU_cOji4MMmOCME6kkwxe57ZgpeXtdVTvldpw", "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7clVh9hRPHFPC0XAKx+E\n8A4QThXJiRdvC670Tm3Gw2LGnuqxMG8tGkYEsY0xDIMhgY66AUpdtsDkgPd5MMeK\nbqX1xKm8MsJ/RYcigW/zl0EoJT5sK6Zs0LTyRswR53C/jz40YT36opsH+2SDygAI\nCM/TuqaRoRP8eAreOOI7YVCAWbhuXFF4YIjwUHSENyvPEIYFcHLn02ZDR4+Ikg34\nZVRQx1Y143dgf8hjg48r9E8goVdGATRozL+2BS1piBVBcyvuqjUsbuHMz7UZMn8G\nldhlvzwU+X/H3OnyoEGepOgSyuvqYtIj4eU1Is8h7arbnlg26yfsH3SYpUEvA/hB\nqwIDAQAB\n-----END PUBLIC KEY-----", x) - } - note: jwtverifyrsa/success-ps384-key - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_ps384("eyJhbGciOiJQUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.EHPUvPr6uJOYqdza95WbM1SYD8atZHJEVRggpwOWnHGsjQBoEarJb8QgW7TY22OXwGw2HWluTiyT_MAz02NaHRzZv6AgrmxCLChMWkCHLwPxqjs0xSvVAMLzHHq2X2Bcujo9KORGudR7zKz8pOX5Mfnm7Z6OGtqPCPLaIdVJlddNsG6a571NOuVuDWbcg0omeRDANZpCZMJeAQN2M-4Q61ef6zcQHK1R-QqzBhw6HzMgqR1LRJ0xbrmD-L5o53JM3pV1e1juKNXVK3vWkDQRCQORFn1lyH5isfSsiiHW-x90sUC7TrU_cOji4MMmOCME6kkwxe57ZgpeXtdVTvldpw", "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7clVh9hRPHFPC0XAKx+E\n8A4QThXJiRdvC670Tm3Gw2LGnuqxMG8tGkYEsY0xDIMhgY66AUpdtsDkgPd5MMeK\nbqX1xKm8MsJ/RYcigW/zl0EoJT5sK6Zs0LTyRswR53C/jz40YT36opsH+2SDygAI\nCM/TuqaRoRP8eAreOOI7YVCAWbhuXFF4YIjwUHSENyvPEIYFcHLn02ZDR4+Ikg34\nZVRQx1Y143dgf8hjg48r9E8goVdGATRozL+2BS1piBVBcyvuqjUsbuHMz7UZMn8G\nldhlvzwU+X/H3OnyoEGepOgSyuvqYtIj4eU1Is8h7arbnlg26yfsH3SYpUEvA/hB\nqwIDAQAB\n-----END PUBLIC KEY-----", x) + } + note: jwtverifyrsa/success-ps384-key + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0426.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0426.yaml index 58217125c2..88204040cc 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0426.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0426.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps384("eyJhbGciOiJQUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.EHPUvPr6uJOYqdza95WbM1SYD8atZHJEVRggpwOWnHGsjQBoEarJb8QgW7TY22OXwGw2HWluTiyT_MAz02NaHRzZv6AgrmxCLChMWkCHLwPxqjs0xSvVAMLzHHq2X2Bcujo9KORGudR7zKz8pOX5Mfnm7Z6OGtqPCPLaIdVJlddNsG6a571NOuVuDWbcg0omeRDANZpCZMJeAQN2M-4Q61ef6zcQHK1R-QqzBhw6HzMgqR1LRJ0xbrmD-L5o53JM3pV1e1juKNXVK3vWkDQRCQORFn1lyH5isfSsiiHW-x90sUC7TrU_cOji4MMmOCME6kkwxe57ZgpeXtdVTvldpw", `{"kty":"RSA","n":"7clVh9hRPHFPC0XAKx-E8A4QThXJiRdvC670Tm3Gw2LGnuqxMG8tGkYEsY0xDIMhgY66AUpdtsDkgPd5MMeKbqX1xKm8MsJ_RYcigW_zl0EoJT5sK6Zs0LTyRswR53C_jz40YT36opsH-2SDygAICM_TuqaRoRP8eAreOOI7YVCAWbhuXFF4YIjwUHSENyvPEIYFcHLn02ZDR4-Ikg34ZVRQx1Y143dgf8hjg48r9E8goVdGATRozL-2BS1piBVBcyvuqjUsbuHMz7UZMn8GldhlvzwU-X_H3OnyoEGepOgSyuvqYtIj4eU1Is8h7arbnlg26yfsH3SYpUEvA_hBqw","e":"AQAB"}`, x) - } - note: jwtverifyrsa/success-ps384-jwk - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_ps384("eyJhbGciOiJQUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.EHPUvPr6uJOYqdza95WbM1SYD8atZHJEVRggpwOWnHGsjQBoEarJb8QgW7TY22OXwGw2HWluTiyT_MAz02NaHRzZv6AgrmxCLChMWkCHLwPxqjs0xSvVAMLzHHq2X2Bcujo9KORGudR7zKz8pOX5Mfnm7Z6OGtqPCPLaIdVJlddNsG6a571NOuVuDWbcg0omeRDANZpCZMJeAQN2M-4Q61ef6zcQHK1R-QqzBhw6HzMgqR1LRJ0xbrmD-L5o53JM3pV1e1juKNXVK3vWkDQRCQORFn1lyH5isfSsiiHW-x90sUC7TrU_cOji4MMmOCME6kkwxe57ZgpeXtdVTvldpw", `{"kty":"RSA","n":"7clVh9hRPHFPC0XAKx-E8A4QThXJiRdvC670Tm3Gw2LGnuqxMG8tGkYEsY0xDIMhgY66AUpdtsDkgPd5MMeKbqX1xKm8MsJ_RYcigW_zl0EoJT5sK6Zs0LTyRswR53C_jz40YT36opsH-2SDygAICM_TuqaRoRP8eAreOOI7YVCAWbhuXFF4YIjwUHSENyvPEIYFcHLn02ZDR4-Ikg34ZVRQx1Y143dgf8hjg48r9E8goVdGATRozL-2BS1piBVBcyvuqjUsbuHMz7UZMn8GldhlvzwU-X_H3OnyoEGepOgSyuvqYtIj4eU1Is8h7arbnlg26yfsH3SYpUEvA_hBqw","e":"AQAB"}`, x) + } + note: jwtverifyrsa/success-ps384-jwk + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0427.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0427.yaml index 9fd4201f69..4a0f4e0bab 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0427.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0427.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps384("eyJhbGciOiJQUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.EHPUvPr6uJOYqdza95WbM1SYD8atZHJEVRggpwOWnHGsjQBoEarJb8QgW7TY22OXwGw2HWluTiyT_MAz02NaHRzZv6AgrmxCLChMWkCHLwPxqjs0xSvVAMLzHHq2X2Bcujo9KORGudR7zKz8pOX5Mfnm7Z6OGtqPCPLaIdVJlddNsG6a571NOuVuDWbcg0omeRDANZpCZMJeAQN2M-4Q61ef6zcQHK1R-QqzBhw6HzMgqR1LRJ0xbrmD-L5o53JM3pV1e1juKNXVK3vWkDQRCQORFn1lyH5isfSsiiHW-x90sUC7TrU_cOji4MMmOCME6kkwxe57ZgpeXtdVTvldpw", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-ps384-wrong key - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_ps384("eyJhbGciOiJQUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.EHPUvPr6uJOYqdza95WbM1SYD8atZHJEVRggpwOWnHGsjQBoEarJb8QgW7TY22OXwGw2HWluTiyT_MAz02NaHRzZv6AgrmxCLChMWkCHLwPxqjs0xSvVAMLzHHq2X2Bcujo9KORGudR7zKz8pOX5Mfnm7Z6OGtqPCPLaIdVJlddNsG6a571NOuVuDWbcg0omeRDANZpCZMJeAQN2M-4Q61ef6zcQHK1R-QqzBhw6HzMgqR1LRJ0xbrmD-L5o53JM3pV1e1juKNXVK3vWkDQRCQORFn1lyH5isfSsiiHW-x90sUC7TrU_cOji4MMmOCME6kkwxe57ZgpeXtdVTvldpw", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-ps384-wrong key + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0428.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0428.yaml index 41e47bcb6b..86dbeb05f1 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0428.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0428.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps512("eyJhbGciOiJQUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VRlkPtiUq5MmBNgyuBqxv2_aX40STrWrBB2sSmGbxI78jVG_3hVoh7Mk-wUmFL389qpf05xNdn-gpMe-MSDUux7U7EuFspFZdYTUBo9wRvEBe4e1rHUCG00lVdYCG7eEgbAxM3cUhrHRwExBte30qBrFFUY9FgG-kJdYhgyh7VquMGuKgiS8CP_H0Gp1mIvTw6eEnSFAoKiryw9edUZ78pHELNn4y18YZvEndeNZh7f19LCtrB0G2bJUHGM4vPcwo2D-UAhEFBpSlnnqXDLSWOhUgLNLu0kZACXhT808KT6fdF6eFihdThmWN7_HUz2znjrjs71CqqDJgLhkGs8UvQ", "-----BEGIN CERTIFICATE-----\nMIIDXDCCAkSgAwIBAgIBKjANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJVUzEV\nMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMD\nRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MDkxMjU2WhcNMjAwNTA3\nMTExMjU2WjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4w\nDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3Qw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtyVWH2FE8cU8LRcArH4Tw\nDhBOFcmJF28LrvRObcbDYsae6rEwby0aRgSxjTEMgyGBjroBSl22wOSA93kwx4pu\npfXEqbwywn9FhyKBb/OXQSglPmwrpmzQtPJGzBHncL+PPjRhPfqimwf7ZIPKAAgI\nz9O6ppGhE/x4Ct444jthUIBZuG5cUXhgiPBQdIQ3K88QhgVwcufTZkNHj4iSDfhl\nVFDHVjXjd2B/yGODjyv0TyChV0YBNGjMv7YFLWmIFUFzK+6qNSxu4czPtRkyfwaV\n2GW/PBT5f8fc6fKgQZ6k6BLK6+pi0iPh5TUizyHtqtueWDbrJ+wfdJilQS8D+EGr\nAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAM\nBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBgVAM50/0aBTBxESYKIKN4\nE+qbV6aE0C+wYJLet0EWPTxwmFZamq5LNEO/D6xyoY5WHY60EyHRMs0agSB/ATBX\n5ULdEwh9G0NjxqivCcoddQ1fuVS2PrrqNL7VlRnYbTpd8/Dh4qnyl5FltlyZ/29L\ny7BWOwlcBlZdhsfH8svNX4PUxjRD+jmnczCDi7XSOKT8htKUV2ih1c9JrWpIhCi/\nHzEXkaAxNdhBNdIsLQMo3qq9fkSgNZQk9/ecJNPeuJ/UYyr5Xa4PxIWl4U+P7yuI\n+Q3FSPmUbiVsSGqMhh6V/DN8M+T5/KiSB47gFOfxc2/RR5aw4HkSp3WxwbT9njbE\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/success-ps512-cert - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_ps512("eyJhbGciOiJQUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VRlkPtiUq5MmBNgyuBqxv2_aX40STrWrBB2sSmGbxI78jVG_3hVoh7Mk-wUmFL389qpf05xNdn-gpMe-MSDUux7U7EuFspFZdYTUBo9wRvEBe4e1rHUCG00lVdYCG7eEgbAxM3cUhrHRwExBte30qBrFFUY9FgG-kJdYhgyh7VquMGuKgiS8CP_H0Gp1mIvTw6eEnSFAoKiryw9edUZ78pHELNn4y18YZvEndeNZh7f19LCtrB0G2bJUHGM4vPcwo2D-UAhEFBpSlnnqXDLSWOhUgLNLu0kZACXhT808KT6fdF6eFihdThmWN7_HUz2znjrjs71CqqDJgLhkGs8UvQ", "-----BEGIN CERTIFICATE-----\nMIIDXDCCAkSgAwIBAgIBKjANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJVUzEV\nMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMD\nRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MDkxMjU2WhcNMjAwNTA3\nMTExMjU2WjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4w\nDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3Qw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtyVWH2FE8cU8LRcArH4Tw\nDhBOFcmJF28LrvRObcbDYsae6rEwby0aRgSxjTEMgyGBjroBSl22wOSA93kwx4pu\npfXEqbwywn9FhyKBb/OXQSglPmwrpmzQtPJGzBHncL+PPjRhPfqimwf7ZIPKAAgI\nz9O6ppGhE/x4Ct444jthUIBZuG5cUXhgiPBQdIQ3K88QhgVwcufTZkNHj4iSDfhl\nVFDHVjXjd2B/yGODjyv0TyChV0YBNGjMv7YFLWmIFUFzK+6qNSxu4czPtRkyfwaV\n2GW/PBT5f8fc6fKgQZ6k6BLK6+pi0iPh5TUizyHtqtueWDbrJ+wfdJilQS8D+EGr\nAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAM\nBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBgVAM50/0aBTBxESYKIKN4\nE+qbV6aE0C+wYJLet0EWPTxwmFZamq5LNEO/D6xyoY5WHY60EyHRMs0agSB/ATBX\n5ULdEwh9G0NjxqivCcoddQ1fuVS2PrrqNL7VlRnYbTpd8/Dh4qnyl5FltlyZ/29L\ny7BWOwlcBlZdhsfH8svNX4PUxjRD+jmnczCDi7XSOKT8htKUV2ih1c9JrWpIhCi/\nHzEXkaAxNdhBNdIsLQMo3qq9fkSgNZQk9/ecJNPeuJ/UYyr5Xa4PxIWl4U+P7yuI\n+Q3FSPmUbiVsSGqMhh6V/DN8M+T5/KiSB47gFOfxc2/RR5aw4HkSp3WxwbT9njbE\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/success-ps512-cert + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0429.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0429.yaml index ae4ae16f60..72fe7f5619 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0429.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0429.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps512("eyJhbGciOiJQUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VRlkPtiUq5MmBNgyuBqxv2_aX40STrWrBB2sSmGbxI78jVG_3hVoh7Mk-wUmFL389qpf05xNdn-gpMe-MSDUux7U7EuFspFZdYTUBo9wRvEBe4e1rHUCG00lVdYCG7eEgbAxM3cUhrHRwExBte30qBrFFUY9FgG-kJdYhgyh7VquMGuKgiS8CP_H0Gp1mIvTw6eEnSFAoKiryw9edUZ78pHELNn4y18YZvEndeNZh7f19LCtrB0G2bJUHGM4vPcwo2D-UAhEFBpSlnnqXDLSWOhUgLNLu0kZACXhT808KT6fdF6eFihdThmWN7_HUz2znjrjs71CqqDJgLhkGs8UvQ", "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7clVh9hRPHFPC0XAKx+E\n8A4QThXJiRdvC670Tm3Gw2LGnuqxMG8tGkYEsY0xDIMhgY66AUpdtsDkgPd5MMeK\nbqX1xKm8MsJ/RYcigW/zl0EoJT5sK6Zs0LTyRswR53C/jz40YT36opsH+2SDygAI\nCM/TuqaRoRP8eAreOOI7YVCAWbhuXFF4YIjwUHSENyvPEIYFcHLn02ZDR4+Ikg34\nZVRQx1Y143dgf8hjg48r9E8goVdGATRozL+2BS1piBVBcyvuqjUsbuHMz7UZMn8G\nldhlvzwU+X/H3OnyoEGepOgSyuvqYtIj4eU1Is8h7arbnlg26yfsH3SYpUEvA/hB\nqwIDAQAB\n-----END PUBLIC KEY-----", x) - } - note: jwtverifyrsa/success-ps512-key - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_ps512("eyJhbGciOiJQUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VRlkPtiUq5MmBNgyuBqxv2_aX40STrWrBB2sSmGbxI78jVG_3hVoh7Mk-wUmFL389qpf05xNdn-gpMe-MSDUux7U7EuFspFZdYTUBo9wRvEBe4e1rHUCG00lVdYCG7eEgbAxM3cUhrHRwExBte30qBrFFUY9FgG-kJdYhgyh7VquMGuKgiS8CP_H0Gp1mIvTw6eEnSFAoKiryw9edUZ78pHELNn4y18YZvEndeNZh7f19LCtrB0G2bJUHGM4vPcwo2D-UAhEFBpSlnnqXDLSWOhUgLNLu0kZACXhT808KT6fdF6eFihdThmWN7_HUz2znjrjs71CqqDJgLhkGs8UvQ", "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7clVh9hRPHFPC0XAKx+E\n8A4QThXJiRdvC670Tm3Gw2LGnuqxMG8tGkYEsY0xDIMhgY66AUpdtsDkgPd5MMeK\nbqX1xKm8MsJ/RYcigW/zl0EoJT5sK6Zs0LTyRswR53C/jz40YT36opsH+2SDygAI\nCM/TuqaRoRP8eAreOOI7YVCAWbhuXFF4YIjwUHSENyvPEIYFcHLn02ZDR4+Ikg34\nZVRQx1Y143dgf8hjg48r9E8goVdGATRozL+2BS1piBVBcyvuqjUsbuHMz7UZMn8G\nldhlvzwU+X/H3OnyoEGepOgSyuvqYtIj4eU1Is8h7arbnlg26yfsH3SYpUEvA/hB\nqwIDAQAB\n-----END PUBLIC KEY-----", x) + } + note: jwtverifyrsa/success-ps512-key + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0430.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0430.yaml index 740738ae63..ac6bb7ba8a 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0430.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0430.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps512("eyJhbGciOiJQUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VRlkPtiUq5MmBNgyuBqxv2_aX40STrWrBB2sSmGbxI78jVG_3hVoh7Mk-wUmFL389qpf05xNdn-gpMe-MSDUux7U7EuFspFZdYTUBo9wRvEBe4e1rHUCG00lVdYCG7eEgbAxM3cUhrHRwExBte30qBrFFUY9FgG-kJdYhgyh7VquMGuKgiS8CP_H0Gp1mIvTw6eEnSFAoKiryw9edUZ78pHELNn4y18YZvEndeNZh7f19LCtrB0G2bJUHGM4vPcwo2D-UAhEFBpSlnnqXDLSWOhUgLNLu0kZACXhT808KT6fdF6eFihdThmWN7_HUz2znjrjs71CqqDJgLhkGs8UvQ", `{"kty":"RSA","n":"7clVh9hRPHFPC0XAKx-E8A4QThXJiRdvC670Tm3Gw2LGnuqxMG8tGkYEsY0xDIMhgY66AUpdtsDkgPd5MMeKbqX1xKm8MsJ_RYcigW_zl0EoJT5sK6Zs0LTyRswR53C_jz40YT36opsH-2SDygAICM_TuqaRoRP8eAreOOI7YVCAWbhuXFF4YIjwUHSENyvPEIYFcHLn02ZDR4-Ikg34ZVRQx1Y143dgf8hjg48r9E8goVdGATRozL-2BS1piBVBcyvuqjUsbuHMz7UZMn8GldhlvzwU-X_H3OnyoEGepOgSyuvqYtIj4eU1Is8h7arbnlg26yfsH3SYpUEvA_hBqw","e":"AQAB"}`, x) - } - note: jwtverifyrsa/success-ps512-jwk - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_ps512("eyJhbGciOiJQUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VRlkPtiUq5MmBNgyuBqxv2_aX40STrWrBB2sSmGbxI78jVG_3hVoh7Mk-wUmFL389qpf05xNdn-gpMe-MSDUux7U7EuFspFZdYTUBo9wRvEBe4e1rHUCG00lVdYCG7eEgbAxM3cUhrHRwExBte30qBrFFUY9FgG-kJdYhgyh7VquMGuKgiS8CP_H0Gp1mIvTw6eEnSFAoKiryw9edUZ78pHELNn4y18YZvEndeNZh7f19LCtrB0G2bJUHGM4vPcwo2D-UAhEFBpSlnnqXDLSWOhUgLNLu0kZACXhT808KT6fdF6eFihdThmWN7_HUz2znjrjs71CqqDJgLhkGs8UvQ", `{"kty":"RSA","n":"7clVh9hRPHFPC0XAKx-E8A4QThXJiRdvC670Tm3Gw2LGnuqxMG8tGkYEsY0xDIMhgY66AUpdtsDkgPd5MMeKbqX1xKm8MsJ_RYcigW_zl0EoJT5sK6Zs0LTyRswR53C_jz40YT36opsH-2SDygAICM_TuqaRoRP8eAreOOI7YVCAWbhuXFF4YIjwUHSENyvPEIYFcHLn02ZDR4-Ikg34ZVRQx1Y143dgf8hjg48r9E8goVdGATRozL-2BS1piBVBcyvuqjUsbuHMz7UZMn8GldhlvzwU-X_H3OnyoEGepOgSyuvqYtIj4eU1Is8h7arbnlg26yfsH3SYpUEvA_hBqw","e":"AQAB"}`, x) + } + note: jwtverifyrsa/success-ps512-jwk + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0431.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0431.yaml index 1e77cd2235..6a3296871f 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0431.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0431.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_ps512("eyJhbGciOiJQUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VRlkPtiUq5MmBNgyuBqxv2_aX40STrWrBB2sSmGbxI78jVG_3hVoh7Mk-wUmFL389qpf05xNdn-gpMe-MSDUux7U7EuFspFZdYTUBo9wRvEBe4e1rHUCG00lVdYCG7eEgbAxM3cUhrHRwExBte30qBrFFUY9FgG-kJdYhgyh7VquMGuKgiS8CP_H0Gp1mIvTw6eEnSFAoKiryw9edUZ78pHELNn4y18YZvEndeNZh7f19LCtrB0G2bJUHGM4vPcwo2D-UAhEFBpSlnnqXDLSWOhUgLNLu0kZACXhT808KT6fdF6eFihdThmWN7_HUz2znjrjs71CqqDJgLhkGs8UvQ", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-wrong key - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_ps512("eyJhbGciOiJQUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.VRlkPtiUq5MmBNgyuBqxv2_aX40STrWrBB2sSmGbxI78jVG_3hVoh7Mk-wUmFL389qpf05xNdn-gpMe-MSDUux7U7EuFspFZdYTUBo9wRvEBe4e1rHUCG00lVdYCG7eEgbAxM3cUhrHRwExBte30qBrFFUY9FgG-kJdYhgyh7VquMGuKgiS8CP_H0Gp1mIvTw6eEnSFAoKiryw9edUZ78pHELNn4y18YZvEndeNZh7f19LCtrB0G2bJUHGM4vPcwo2D-UAhEFBpSlnnqXDLSWOhUgLNLu0kZACXhT808KT6fdF6eFihdThmWN7_HUz2znjrjs71CqqDJgLhkGs8UvQ", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-wrong key + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0432.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0432.yaml index 6d3a5996c6..fbd6229694 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0432.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0432.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_es384("eyJhbGciOiJFUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.w85PzWrIQbJBOROnah0pa8or2LsXWnj88bwG1R-zf5Mm20CaYGPKPTQEsU_y-dzaWyDV1Na7nfaGaH3Khcvj8yS-bidZ0OZVVFDk9oabX7ZYvAHo2pTAOfxc11TeOYSF", "-----BEGIN CERTIFICATE-----\nMIICDDCCAZOgAwIBAgIBIzAKBggqhkjOPQQDAzBWMQswCQYDVQQGEwJVUzEVMBMG\nA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2\nMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MDk0MzU1WhcNMjAwNTA3MTE0\nMzU1WjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYD\nVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwdjAQ\nBgcqhkjOPQIBBgUrgQQAIgNiAARjcwW7g9wx4ePsuwcVzDJCVo4f8I1C1X5US4B1\nrWN+5zFSJoGCKaPTXMDhAdS08D1G20AIRmA0AlVVXRxrZYZ+Y282O6s+EGsB5T1W\nMCnUFk2Sa+xZiGPApYz4zSGbNEqjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUE\nDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMAoGCCqGSM49BAMDA2cAMGQCMGSG\nVjx3DZP71ZGNDBw+AVdhNU3pgJW8kNpqjta3HFLb6pzqNOsfOn1ZeIWciEcyEgIw\nTGxli48W1AJ2s7Pw+3wOA6f9HAmczJPaiZ9CY038UiT8mk+pND5FEdqLhT/5lMEz\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/success-es384-cert - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_es384("eyJhbGciOiJFUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.w85PzWrIQbJBOROnah0pa8or2LsXWnj88bwG1R-zf5Mm20CaYGPKPTQEsU_y-dzaWyDV1Na7nfaGaH3Khcvj8yS-bidZ0OZVVFDk9oabX7ZYvAHo2pTAOfxc11TeOYSF", "-----BEGIN CERTIFICATE-----\nMIICDDCCAZOgAwIBAgIBIzAKBggqhkjOPQQDAzBWMQswCQYDVQQGEwJVUzEVMBMG\nA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2\nMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MDk0MzU1WhcNMjAwNTA3MTE0\nMzU1WjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYD\nVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwdjAQ\nBgcqhkjOPQIBBgUrgQQAIgNiAARjcwW7g9wx4ePsuwcVzDJCVo4f8I1C1X5US4B1\nrWN+5zFSJoGCKaPTXMDhAdS08D1G20AIRmA0AlVVXRxrZYZ+Y282O6s+EGsB5T1W\nMCnUFk2Sa+xZiGPApYz4zSGbNEqjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUE\nDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMAoGCCqGSM49BAMDA2cAMGQCMGSG\nVjx3DZP71ZGNDBw+AVdhNU3pgJW8kNpqjta3HFLb6pzqNOsfOn1ZeIWciEcyEgIw\nTGxli48W1AJ2s7Pw+3wOA6f9HAmczJPaiZ9CY038UiT8mk+pND5FEdqLhT/5lMEz\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/success-es384-cert + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0433.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0433.yaml index 0d6b50dfb1..c3bd6640ec 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0433.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0433.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_es384("eyJhbGciOiJFUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.w85PzWrIQbJBOROnah0pa8or2LsXWnj88bwG1R-zf5Mm20CaYGPKPTQEsU_y-dzaWyDV1Na7nfaGaH3Khcvj8yS-bidZ0OZVVFDk9oabX7ZYvAHo2pTAOfxc11TeOYSF", "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEY3MFu4PcMeHj7LsHFcwyQlaOH/CNQtV+\nVEuAda1jfucxUiaBgimj01zA4QHUtPA9RttACEZgNAJVVV0ca2WGfmNvNjurPhBr\nAeU9VjAp1BZNkmvsWYhjwKWM+M0hmzRK\n-----END PUBLIC KEY-----", x) - } - note: jwtverifyrsa/success-es384-key - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_es384("eyJhbGciOiJFUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.w85PzWrIQbJBOROnah0pa8or2LsXWnj88bwG1R-zf5Mm20CaYGPKPTQEsU_y-dzaWyDV1Na7nfaGaH3Khcvj8yS-bidZ0OZVVFDk9oabX7ZYvAHo2pTAOfxc11TeOYSF", "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEY3MFu4PcMeHj7LsHFcwyQlaOH/CNQtV+\nVEuAda1jfucxUiaBgimj01zA4QHUtPA9RttACEZgNAJVVV0ca2WGfmNvNjurPhBr\nAeU9VjAp1BZNkmvsWYhjwKWM+M0hmzRK\n-----END PUBLIC KEY-----", x) + } + note: jwtverifyrsa/success-es384-key + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0434.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0434.yaml index 552c546b6c..048f1266e0 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0434.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0434.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_es384("eyJhbGciOiJFUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.w85PzWrIQbJBOROnah0pa8or2LsXWnj88bwG1R-zf5Mm20CaYGPKPTQEsU_y-dzaWyDV1Na7nfaGaH3Khcvj8yS-bidZ0OZVVFDk9oabX7ZYvAHo2pTAOfxc11TeOYSF", `{"kty":"EC","crv":"P-384","x":"Y3MFu4PcMeHj7LsHFcwyQlaOH_CNQtV-VEuAda1jfucxUiaBgimj01zA4QHUtPA9","y":"RttACEZgNAJVVV0ca2WGfmNvNjurPhBrAeU9VjAp1BZNkmvsWYhjwKWM-M0hmzRK"}`, x) - } - note: jwtverifyrsa/success-es384-jwk - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_es384("eyJhbGciOiJFUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.w85PzWrIQbJBOROnah0pa8or2LsXWnj88bwG1R-zf5Mm20CaYGPKPTQEsU_y-dzaWyDV1Na7nfaGaH3Khcvj8yS-bidZ0OZVVFDk9oabX7ZYvAHo2pTAOfxc11TeOYSF", `{"kty":"EC","crv":"P-384","x":"Y3MFu4PcMeHj7LsHFcwyQlaOH_CNQtV-VEuAda1jfucxUiaBgimj01zA4QHUtPA9","y":"RttACEZgNAJVVV0ca2WGfmNvNjurPhBrAeU9VjAp1BZNkmvsWYhjwKWM-M0hmzRK"}`, x) + } + note: jwtverifyrsa/success-es384-jwk + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0435.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0435.yaml index 59d75ca427..20a3b4e6b9 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0435.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0435.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_es384("eyJhbGciOiJFUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.w85PzWrIQbJBOROnah0pa8or2LsXWnj88bwG1R-zf5Mm20CaYGPKPTQEsU_y-dzaWyDV1Na7nfaGaH3Khcvj8yS-bidZ0OZVVFDk9oabX7ZYvAHo2pTAOfxc11TeOYSF", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-wrong key - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_es384("eyJhbGciOiJFUzM4NCJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.w85PzWrIQbJBOROnah0pa8or2LsXWnj88bwG1R-zf5Mm20CaYGPKPTQEsU_y-dzaWyDV1Na7nfaGaH3Khcvj8yS-bidZ0OZVVFDk9oabX7ZYvAHo2pTAOfxc11TeOYSF", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-wrong key + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0436.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0436.yaml index 527f3e1152..140501eb6c 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0436.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0436.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_es512("eyJhbGciOiJFUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.AYpssEoEqq9We9aKsnRykpECAVEOBRJJu8UgDzoL-F8fmB2LPxpS4Gl7D-9wAO5AJt4-9YSsgOb5FLc20MrZN30AAFYopZf75T1pEJQFrdDmOKT45abbrorcR7G_AHDbhBdDNM_R6GojYFg_HPxHndof745Yq5Tfw9PpJc-9kSyk6kqO", "-----BEGIN CERTIFICATE-----\nMIICWDCCAbmgAwIBAgIBAjAKBggqhkjOPQQDBDBWMQswCQYDVQQGEwJVUzEVMBMG\nA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2\nMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MTA1NDM3WhcNMjAwNTA3MTI1\nNDM3WjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYD\nVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwgZsw\nEAYHKoZIzj0CAQYFK4EEACMDgYYABAHLm3IMD/88vC/S1cCTyjrCjwHIGsjibFBw\nPBXt36YKCjUdS7jiJJR5YQVPypSv7gPaKKn1E8CqkfVdd3rrp1TocAEms4XvigtW\nZBZzffw9xyZCgmtQ2dTHsufi/5W/Yx8N3Uw+D2wl1LKcJraouo+qgamGfuou6WbA\noPEtdOg0+B4jF6M1MDMwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUF\nBwMBMAwGA1UdEwEB/wQCMAAwCgYIKoZIzj0EAwQDgYwAMIGIAkIAzAAYDqMghX3S\n8UbS8s5TPAztJy9oNXFra5V8pPlUdNFc2ov2LN++scW46wCb/cJUyEc58sY7xFuK\nI5sCOkv95N8CQgFXmu354LZJ31zIovuUA8druOPe3TDnxMGwEEm2Lt43JNuhzNyP\nhJYh9/QKfe2AiwrLXEG4VVOIXdjq7vexl87evg==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/success-es512-cert - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_es512("eyJhbGciOiJFUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.AYpssEoEqq9We9aKsnRykpECAVEOBRJJu8UgDzoL-F8fmB2LPxpS4Gl7D-9wAO5AJt4-9YSsgOb5FLc20MrZN30AAFYopZf75T1pEJQFrdDmOKT45abbrorcR7G_AHDbhBdDNM_R6GojYFg_HPxHndof745Yq5Tfw9PpJc-9kSyk6kqO", "-----BEGIN CERTIFICATE-----\nMIICWDCCAbmgAwIBAgIBAjAKBggqhkjOPQQDBDBWMQswCQYDVQQGEwJVUzEVMBMG\nA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYDVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2\nMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAwNTA3MTA1NDM3WhcNMjAwNTA3MTI1\nNDM3WjBWMQswCQYDVQQGEwJVUzEVMBMGA1UEBxMMUmVkd29vZCBDaXR5MQ4wDAYD\nVQQKEwVTdHlyYTEMMAoGA1UECxMDRGV2MRIwEAYDVQQDEwlsb2NhbGhvc3QwgZsw\nEAYHKoZIzj0CAQYFK4EEACMDgYYABAHLm3IMD/88vC/S1cCTyjrCjwHIGsjibFBw\nPBXt36YKCjUdS7jiJJR5YQVPypSv7gPaKKn1E8CqkfVdd3rrp1TocAEms4XvigtW\nZBZzffw9xyZCgmtQ2dTHsufi/5W/Yx8N3Uw+D2wl1LKcJraouo+qgamGfuou6WbA\noPEtdOg0+B4jF6M1MDMwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUF\nBwMBMAwGA1UdEwEB/wQCMAAwCgYIKoZIzj0EAwQDgYwAMIGIAkIAzAAYDqMghX3S\n8UbS8s5TPAztJy9oNXFra5V8pPlUdNFc2ov2LN++scW46wCb/cJUyEc58sY7xFuK\nI5sCOkv95N8CQgFXmu354LZJ31zIovuUA8druOPe3TDnxMGwEEm2Lt43JNuhzNyP\nhJYh9/QKfe2AiwrLXEG4VVOIXdjq7vexl87evg==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/success-es512-cert + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0437.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0437.yaml index 161d5dd28e..00b6765424 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0437.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0437.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_es512("eyJhbGciOiJFUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.AYpssEoEqq9We9aKsnRykpECAVEOBRJJu8UgDzoL-F8fmB2LPxpS4Gl7D-9wAO5AJt4-9YSsgOb5FLc20MrZN30AAFYopZf75T1pEJQFrdDmOKT45abbrorcR7G_AHDbhBdDNM_R6GojYFg_HPxHndof745Yq5Tfw9PpJc-9kSyk6kqO", "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBy5tyDA//PLwv0tXAk8o6wo8ByBrI\n4mxQcDwV7d+mCgo1HUu44iSUeWEFT8qUr+4D2iip9RPAqpH1XXd666dU6HABJrOF\n74oLVmQWc338PccmQoJrUNnUx7Ln4v+Vv2MfDd1MPg9sJdSynCa2qLqPqoGphn7q\nLulmwKDxLXToNPgeIxc=\n-----END PUBLIC KEY-----", x) - } - note: jwtverifyrsa/success-es512-key - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_es512("eyJhbGciOiJFUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.AYpssEoEqq9We9aKsnRykpECAVEOBRJJu8UgDzoL-F8fmB2LPxpS4Gl7D-9wAO5AJt4-9YSsgOb5FLc20MrZN30AAFYopZf75T1pEJQFrdDmOKT45abbrorcR7G_AHDbhBdDNM_R6GojYFg_HPxHndof745Yq5Tfw9PpJc-9kSyk6kqO", "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBy5tyDA//PLwv0tXAk8o6wo8ByBrI\n4mxQcDwV7d+mCgo1HUu44iSUeWEFT8qUr+4D2iip9RPAqpH1XXd666dU6HABJrOF\n74oLVmQWc338PccmQoJrUNnUx7Ln4v+Vv2MfDd1MPg9sJdSynCa2qLqPqoGphn7q\nLulmwKDxLXToNPgeIxc=\n-----END PUBLIC KEY-----", x) + } + note: jwtverifyrsa/success-es512-key + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0438.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0438.yaml index 11f6292369..72635b0f72 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0438.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0438.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_es512("eyJhbGciOiJFUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.AYpssEoEqq9We9aKsnRykpECAVEOBRJJu8UgDzoL-F8fmB2LPxpS4Gl7D-9wAO5AJt4-9YSsgOb5FLc20MrZN30AAFYopZf75T1pEJQFrdDmOKT45abbrorcR7G_AHDbhBdDNM_R6GojYFg_HPxHndof745Yq5Tfw9PpJc-9kSyk6kqO", `{"kty":"EC","crv":"P-521","x":"AcubcgwP_zy8L9LVwJPKOsKPAcgayOJsUHA8Fe3fpgoKNR1LuOIklHlhBU_KlK_uA9ooqfUTwKqR9V13euunVOhw","y":"ASazhe-KC1ZkFnN9_D3HJkKCa1DZ1Mey5-L_lb9jHw3dTD4PbCXUspwmtqi6j6qBqYZ-6i7pZsCg8S106DT4HiMX"}`, x) - } - note: jwtverifyrsa/success-es512-jwk - query: data.generated.p = x - want_result: - - x: true + p = x { + io.jwt.verify_es512("eyJhbGciOiJFUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.AYpssEoEqq9We9aKsnRykpECAVEOBRJJu8UgDzoL-F8fmB2LPxpS4Gl7D-9wAO5AJt4-9YSsgOb5FLc20MrZN30AAFYopZf75T1pEJQFrdDmOKT45abbrorcR7G_AHDbhBdDNM_R6GojYFg_HPxHndof745Yq5Tfw9PpJc-9kSyk6kqO", `{"kty":"EC","crv":"P-521","x":"AcubcgwP_zy8L9LVwJPKOsKPAcgayOJsUHA8Fe3fpgoKNR1LuOIklHlhBU_KlK_uA9ooqfUTwKqR9V13euunVOhw","y":"ASazhe-KC1ZkFnN9_D3HJkKCa1DZ1Mey5-L_lb9jHw3dTD4PbCXUspwmtqi6j6qBqYZ-6i7pZsCg8S106DT4HiMX"}`, x) + } + note: jwtverifyrsa/success-es512-jwk + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0439.yaml b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0439.yaml index 3172690bec..a588307d44 100644 --- a/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0439.yaml +++ b/test/cases/testdata/jwtverifyrsa/test-jwtverifyrsa-0439.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - io.jwt.verify_es512("eyJhbGciOiJFUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.AYpssEoEqq9We9aKsnRykpECAVEOBRJJu8UgDzoL-F8fmB2LPxpS4Gl7D-9wAO5AJt4-9YSsgOb5FLc20MrZN30AAFYopZf75T1pEJQFrdDmOKT45abbrorcR7G_AHDbhBdDNM_R6GojYFg_HPxHndof745Yq5Tfw9PpJc-9kSyk6kqO", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) - } - note: jwtverifyrsa/failure-wrong key - query: data.generated.p = x - want_result: - - x: false + p = x { + io.jwt.verify_es512("eyJhbGciOiJFUzUxMiJ9.eyJTY29wZXMiOlsiZm9vIiwiYmFyIl0sIm5iZiI6MTQ1MTYwNjQwMH0.AYpssEoEqq9We9aKsnRykpECAVEOBRJJu8UgDzoL-F8fmB2LPxpS4Gl7D-9wAO5AJt4-9YSsgOb5FLc20MrZN30AAFYopZf75T1pEJQFrdDmOKT45abbrorcR7G_AHDbhBdDNM_R6GojYFg_HPxHndof745Yq5Tfw9PpJc-9kSyk6kqO", "-----BEGIN CERTIFICATE-----\nMIIFiDCCA3ACCQCGV6XsfG/oRTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEO\nMAwGA1UECgwFU3R5cmExDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0\nMRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5cmEwHhcNMTgwMzA2MDAxNTU5WhcNMTkw\nMzA2MDAxNTU5WjCBhTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx\nFTATBgNVBAcMDFJlZHdvb2QgQ2l0eTEOMAwGA1UECgwFU3R5cmExDDAKBgNVBAsM\nA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MRgwFgYJKoZIhvcNAQkBFglhc2hAc3R5\ncmEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDucnAwTRA0zqDQ671L\nKWOVwhjhycFyzyhZUd7vhsnslOBiYM6TYIDXhETfAk2RQoRE/9xF16woMD8FOglc\nlSuhi+GNfFRif6LfArm84ZFj1ZS1MX2logikhXhRJQ7AOHe5+ED0re3KH5lWyqfz\nR6bQuPYwTQSBJy6Tq7T9RiOM29yadCX64OaCEbzEFmHtNlbb5px4zCVvgskg/fpV\nGGCMpAYjGDatbxE5eAloVs1EJuI5RSqWr1JRm6EejxM04BFdfGn1HgWrsKXtlvBa\n00/AC0zXL5n6LK7+L3WbRguVTZcE4Yu70gDwhmM+VsKeT9LKClX003BNj0NJDRB9\ndw9MaWxsXDNHNOWEfbnASXeP7ZRv3D81ftij6P8SL14ZnxyrRty8TAN4ij3wd41l\nastRQCtrJFi+HzO606XOp6HDzBoWT0DGl8Sn2hZ6RLPyBnD04vvvcSGeCVjHGOQ8\nc3OTroK58u5MR/q4T00sTkeeVAxuKoEWKsjIBYYrJTe/a2mEq9yiDGbPNYDnWnQZ\njSUZm+Us23Y2sm/agZ5zKXcEuoecGL6sYCixr/xeB9BPxEiTthH+0M8OY99qpIhz\nSmj41wdgQfzZi/6B8pIr77V/KywYKxJEmzw8Uy48aC/rZ8WsT8QdKwclo1aiNJhx\n79OvGbZFoeHD/w7igpx+ttpF/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQC3wWUs\nfXz+aSfFVz+O3mLFkr65NIgazbGAySgMgMNVuadheIkPL4k21atyflfpx4pg9FGv\n40vWCLMajpvynfz4oqah0BACnpqzQ8Dx6HYkmlXK8fLB+WtPrZBeUEsGPKuJYt4M\nd5TeY3VpNgWOPXmnE4lvxHZqh/8OwmOpjBfC9E3e2eqgwiwOkXnMaZEPgKP6JiWk\nEFaQ9jgMQqJZnNcv6NmiqqsZeI0/NNjBpkmEWQl+wLegVusHiQ0FMBMQ0taEo21r\nzUwHoNJR3h3wgGQiKxKOH1FUKHBV7hEqObLraD/hfG5xYucJfvvAAP1iH0ycPs+9\nhSccrn5/HY1c9AZnW8Kh7atp/wFP+sHjtECWK/lUmXfhASS293hprCpJk2n9pkmR\nziXKJhjwkxlC8NcHuiVfaxdfDa4+1Qta2gK7GEypbvLoEmIt/dsYUsxUg84lwJJ9\nnyC/pfZ5a8wFSf186JeVH4kHd3bnkzlQz460HndOMSJ/Xi1wSfuZlOVupFf8TVKl\np4j28MTLH2Wqx50NssKThdaX6hoCiMqreYa+EVaN1f/cIGQxZSCzdzMCKqdB8lKB\n3Eax+5zsIa/UyPwGxZcyXBRHAlz5ZnkjuRxInyiMkBWWz3IZXjTe6Fq8BNd2UWNc\nw35+2nO5n1LKXgR2+nzhZUOk8TPsi9WUywRluQ==\n-----END CERTIFICATE-----", x) + } + note: jwtverifyrsa/failure-wrong key + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/negation/test-negation-0777.yaml b/test/cases/testdata/negation/test-negation-0777.yaml index 4769f7e85e..b200316e3b 100644 --- a/test/cases/testdata/negation/test-negation-0777.yaml +++ b/test/cases/testdata/negation/test-negation-0777.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p { - not true = false - } - note: 'negation/neg: constants' - query: data.generated.p = x - want_result: - - x: true + p { + not true = false + } + note: "negation/neg: constants" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/negation/test-negation-0778.yaml b/test/cases/testdata/negation/test-negation-0778.yaml index 72005420da..83c744131e 100644 --- a/test/cases/testdata/negation/test-negation-0778.yaml +++ b/test/cases/testdata/negation/test-negation-0778.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p { - not true = true - } - note: 'negation/neg: constants' - query: data.generated.p = x - want_result: [] + p { + not true = true + } + note: "negation/neg: constants" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/negation/test-negation-0779.yaml b/test/cases/testdata/negation/test-negation-0779.yaml index 7679884d43..7de7db024c 100644 --- a/test/cases/testdata/negation/test-negation-0779.yaml +++ b/test/cases/testdata/negation/test-negation-0779.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - not data.generated.q.v0 - } + p { + not data.generated.q.v0 + } - q[x] { - data.b[x] = v - } - note: 'negation/neg: set contains' - query: data.generated.p = x - want_result: - - x: true + q[x] { + data.b[x] = v + } + note: "negation/neg: set contains" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/negation/test-negation-0780.yaml b/test/cases/testdata/negation/test-negation-0780.yaml index 5f14b9b3e2..cd60e3e5dc 100644 --- a/test/cases/testdata/negation/test-negation-0780.yaml +++ b/test/cases/testdata/negation/test-negation-0780.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p { - not data.generated.q.v2 - } + p { + not data.generated.q.v2 + } - q[x] { - data.b[x] = v - } - note: 'negation/neg: set contains undefined' - query: data.generated.p = x - want_result: [] + q[x] { + data.b[x] = v + } + note: "negation/neg: set contains undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/negation/test-negation-data-ref-with-var.yaml b/test/cases/testdata/negation/test-negation-data-ref-with-var.yaml index 3d2b5b01d9..e70c3c5cd7 100644 --- a/test/cases/testdata/negation/test-negation-data-ref-with-var.yaml +++ b/test/cases/testdata/negation/test-negation-data-ref-with-var.yaml @@ -1,72 +1,73 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package test + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package test - p = y { - y := "v0" - not data.test.q[y] - } + p = y { + y := "v0" + not data.test.q[y] + } - q[x] { - data.b[x] = v - } - note: 'negation/pos: ref with variable' - query: data.test.p = x - want_result: - - x: v0 -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package test + q[x] { + data.b[x] = v + } + note: "negation/pos: ref with variable" + query: data.test.p = x + want_result: + - x: v0 + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package test - p = y { - y := "v1" - not data.test.q[y] - } + p = y { + y := "v1" + not data.test.q[y] + } - q[x] { - data.b[x] = v - } - note: 'negation/neg: ref with variable' - query: data.test.p = x - want_result: [] -- data: - bar: - q: 8 - modules: - - | - package foo - p { - k := "p" - not data.bar[k] - } - - | - package bar - p = 7 - note: 'negation/neg: ref with variable (hit) and virtual doc (miss))' - query: data.foo.p = x - want_result: [] -- data: - bar: - q: 8 - modules: - - | - package foo - p { - k := "q" - not data.bar[k] - } - - | - package bar - p = 7 - note: 'negation/neg: ref with variable (miss) and virtual doc (hit)' - query: data.foo.p = x - want_result: [] + q[x] { + data.b[x] = v + } + note: "negation/neg: ref with variable" + query: data.test.p = x + want_result: [] + - data: + bar: + q: 8 + modules: + - | + package foo + p { + k := "p" + not data.bar[k] + } + - | + package bar + p = 7 + note: "negation/neg: ref with variable (hit) and virtual doc (miss))" + query: data.foo.p = x + want_result: [] + - data: + bar: + q: 8 + modules: + - | + package foo + p { + k := "q" + not data.bar[k] + } + - | + package bar + p = 7 + note: "negation/neg: ref with variable (miss) and virtual doc (hit)" + query: data.foo.p = x + want_result: [] diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0709.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0709.yaml index a5d297bdde..3ca4578032 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0709.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0709.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - h: - - - 1 - - 2 - - 3 - - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + h: + - - 1 + - 2 + - 3 + - - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = data.h[0][0] - data.a[__local0__] = 2 - } - note: nestedreferences/ground ref - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.h[0][0] + data.a[__local0__] = 2 + } + note: nestedreferences/ground ref + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0710.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0710.yaml index 5a35581e7f..d33317045f 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0710.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0710.yaml @@ -1,30 +1,31 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - h: - - - 1 - - 2 - - 3 - - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + h: + - - 1 + - 2 + - 3 + - - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.h[i][j] - x = data.a[__local0__] - } - note: nestedreferences/non-ground ref - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 - - 4 + p[x] { + __local0__ = data.h[i][j] + x = data.a[__local0__] + } + note: nestedreferences/non-ground ref + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0711.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0711.yaml index f9c91d863f..bc9828ad2d 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0711.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0711.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.a[i] - __local1__ = data.a[__local0__] - x = data.a[__local1__] - } - note: nestedreferences/two deep - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 - - 4 + p[x] { + __local0__ = data.a[i] + __local1__ = data.a[__local0__] + x = data.a[__local1__] + } + note: nestedreferences/two deep + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0712.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0712.yaml index cf7a0c1333..226ca4a65b 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0712.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0712.yaml @@ -1,30 +1,31 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - h: - - - 1 - - 2 - - 3 - - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + h: + - - 1 + - 2 + - 3 + - - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.a[j] - __local1__ = data.h[i][__local0__] - x = data.a[__local1__] - } - note: nestedreferences/two deep - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 - - 4 + p[x] { + __local0__ = data.a[j] + __local1__ = data.h[i][__local0__] + x = data.a[__local1__] + } + note: nestedreferences/two deep + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0713.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0713.yaml index 761be5c57a..4a965f159f 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0713.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0713.yaml @@ -1,29 +1,30 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - h: - - - 1 - - 2 - - 3 - - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + h: + - - 1 + - 2 + - 3 + - - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.a[i] - __local1__ = data.h[i][__local0__] - x = data.a[__local1__] - } - note: nestedreferences/two deep repeated var - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 + p[x] { + __local0__ = data.a[i] + __local1__ = data.h[i][__local0__] + x = data.a[__local1__] + } + note: nestedreferences/two deep repeated var + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0714.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0714.yaml index 60e64fbfdf..9d90c08dc0 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0714.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0714.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - three: 3 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + three: 3 + modules: + - | + package generated - p { - __local0__ = data.three - 4 = data.a[__local0__] - } - note: nestedreferences/no suffix - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.three + 4 = data.a[__local0__] + } + note: nestedreferences/no suffix + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0715.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0715.yaml index 4217e0e9cc..ac5bad25c8 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0715.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0715.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[y] { - x = [1, 2, 3] - __local0__ = x[_] - y = data.a[__local0__] - } - note: nestedreferences/var ref - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 - - 4 + p[y] { + x = [1, 2, 3] + __local0__ = x[_] + y = data.a[__local0__] + } + note: nestedreferences/var ref + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0716.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0716.yaml index 8b39ce88ce..b49bf48013 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0716.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0716.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - __local0__ = data.three.deadbeef - data.a[__local0__] = x - } - note: nestedreferences/undefined - query: data.generated.p = x - want_result: [] + p { + __local0__ = data.three.deadbeef + data.a[__local0__] = x + } + note: nestedreferences/undefined + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0717.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0717.yaml index 8151c4f89b..774c11bbc1 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0717.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0717.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.generated.q[_] - x = data.a[__local0__] - } + p[x] { + __local0__ = data.generated.q[_] + x = data.a[__local0__] + } - q = [2, 3] - note: 'nestedreferences/vdoc ref: complete' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 - - 4 + q = [2, 3] + note: "nestedreferences/vdoc ref: complete" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0718.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0718.yaml index 1afa891a2c..532d0e5b00 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0718.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0718.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.generated.q[1] - x = data.a[__local0__] - } + p[x] { + __local0__ = data.generated.q[1] + x = data.a[__local0__] + } - q = [2, 3] - note: 'nestedreferences/vdoc ref: complete: ground' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 4 + q = [2, 3] + note: "nestedreferences/vdoc ref: complete: ground" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0719.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0719.yaml index 2797a63894..f1f5791d60 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0719.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0719.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local0__ = data.generated.q - 2 = data.a[__local0__] - } + p { + __local0__ = data.generated.q + 2 = data.a[__local0__] + } - q = 1 - note: 'nestedreferences/vdoc ref: complete: no suffix' - query: data.generated.p = x - want_result: - - x: true + q = 1 + note: "nestedreferences/vdoc ref: complete: no suffix" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0720.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0720.yaml index 0739fda201..dda27a31e3 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0720.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0720.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.generated.q[_] - x = data.a[__local0__] - } + p[x] { + __local0__ = data.generated.q[_] + x = data.a[__local0__] + } - q[k] = v { - o = {"a": 2, "b": 3, "c": 100} - o[k] = v - } - note: 'nestedreferences/vdoc ref: partial object' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 - - 4 + q[k] = v { + o = {"a": 2, "b": 3, "c": 100} + o[k] = v + } + note: "nestedreferences/vdoc ref: partial object" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0721.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0721.yaml index eb16a90132..295926fb03 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0721.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0721.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.generated.q.b - x = data.a[__local0__] - } + p[x] { + __local0__ = data.generated.q.b + x = data.a[__local0__] + } - q[k] = v { - o = {"a": 2, "b": 3, "c": 100} - o[k] = v - } - note: 'nestedreferences/vdoc ref: partial object: ground' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 4 + q[k] = v { + o = {"a": 2, "b": 3, "c": 100} + o[k] = v + } + note: "nestedreferences/vdoc ref: partial object: ground" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0722.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0722.yaml index a9c499aa39..760062154c 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0722.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0722.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] { - __local0__ = data.b[_] - __local1__ = data.generated.q[__local0__] - x = data.a[__local1__] - } + p[x] { + __local0__ = data.b[_] + __local1__ = data.generated.q[__local0__] + x = data.a[__local1__] + } - q = {"hello": 1, "goodbye": 3, "deadbeef": 1000} - note: 'nestedreferences/vdoc ref: complete: nested bdoc ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 4 + q = {"hello": 1, "goodbye": 3, "deadbeef": 1000} + note: "nestedreferences/vdoc ref: complete: nested bdoc ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0723.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0723.yaml index e62c205e49..c097fd7a95 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0723.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0723.yaml @@ -1,31 +1,32 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] { - __local0__ = data.b[_] - __local1__ = data.generated.q[__local0__] - x = data.a[__local1__] - } + p[x] { + __local0__ = data.b[_] + __local1__ = data.generated.q[__local0__] + x = data.a[__local1__] + } - q[k] = v { - o = {"deadbeef": 1000, "goodbye": 3, "hello": 1} - o[k] = v - } - note: 'nestedreferences/vdoc ref: partial object: nested bdoc ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 4 + q[k] = v { + o = {"deadbeef": 1000, "goodbye": 3, "hello": 1} + o[k] = v + } + note: "nestedreferences/vdoc ref: partial object: nested bdoc ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0724.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0724.yaml index c53c953ee2..330845630e 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0724.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0724.yaml @@ -1,35 +1,36 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - d: - e: - - bar - - baz - strings: - bar: 2 - baz: 3 - foo: 1 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + d: + e: + - bar + - baz + strings: + bar: 2 + baz: 3 + foo: 1 + modules: + - | + package generated - p[x] { - __local0__ = data.d.e[_] - __local1__ = data.generated.q[__local0__] - x = data.a[__local1__] - } + p[x] { + __local0__ = data.d.e[_] + __local1__ = data.generated.q[__local0__] + x = data.a[__local1__] + } - q[k] = v { - data.strings[k] = v - } - note: 'nestedreferences/vdoc ref: partial object: nested bdoc ref-2' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 - - 4 + q[k] = v { + data.strings[k] = v + } + note: "nestedreferences/vdoc ref: partial object: nested bdoc ref-2" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 + - 4 diff --git a/test/cases/testdata/nestedreferences/test-nestedreferences-0725.yaml b/test/cases/testdata/nestedreferences/test-nestedreferences-0725.yaml index 712c1ef044..f9e9512fbf 100644 --- a/test/cases/testdata/nestedreferences/test-nestedreferences-0725.yaml +++ b/test/cases/testdata/nestedreferences/test-nestedreferences-0725.yaml @@ -1,30 +1,31 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.a[_] - __local1__ = data.a[_] - __local2__ = data.generated.r[__local1__] - x = data.generated.q[__local0__].v[__local2__] - } + p[x] { + __local0__ = data.a[_] + __local1__ = data.a[_] + __local2__ = data.generated.r[__local1__] + x = data.generated.q[__local0__].v[__local2__] + } - q = [{"v": {}}, {"v": [0, 0, 1, 2]}, {"v": [0, 0, 3, 4]}, {"v": [0, 0]}, {}] + q = [{"v": {}}, {"v": [0, 0, 1, 2]}, {"v": [0, 0, 3, 4]}, {"v": [0, 0]}, {}] - r = [1, 2, 3, 4] - note: 'nestedreferences/vdoc ref: multiple' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + r = [1, 2, 3, 4] + note: "nestedreferences/vdoc ref: multiple" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0092.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0092.yaml index 2a3b5cae3a..6ee6b21855 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0092.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0092.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_contains("10.0.0.0/8", "10.1.0.0/24", x) - } - note: netcidrcontains/cidr contains subnet - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + net.cidr_contains("10.0.0.0/8", "10.1.0.0/24", x) + } + note: netcidrcontains/cidr contains subnet + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0093.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0093.yaml index 6d72c77e62..0cac1c7bd9 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0093.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0093.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_contains("172.17.0.0/24", "172.17.0.0/16", x) - } - note: netcidrcontains/cidr does not contain subnet partial - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + net.cidr_contains("172.17.0.0/24", "172.17.0.0/16", x) + } + note: netcidrcontains/cidr does not contain subnet partial + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0094.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0094.yaml index aa46995913..27095c4cd7 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0094.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0094.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_contains("10.0.0.0/8", "192.168.1.0/24", x) - } - note: netcidrcontains/cidr does not contain subnet - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + net.cidr_contains("10.0.0.0/8", "192.168.1.0/24", x) + } + note: netcidrcontains/cidr does not contain subnet + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0095.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0095.yaml index 13418b7ed6..2c3de79e43 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0095.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0095.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_contains("10.0.0.0/8", "10.1.1.1/32", x) - } - note: netcidrcontains/cidr contains single ip subnet - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + net.cidr_contains("10.0.0.0/8", "10.1.1.1/32", x) + } + note: netcidrcontains/cidr contains single ip subnet + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0096.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0096.yaml index ccf0f869bd..c1b98c0ec9 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0096.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0096.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_contains("2001:4860:4860::8888/32", "2001:4860:4860:1234::8888/40", x) - } - note: netcidrcontains/cidr contains subnet ipv6 - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + net.cidr_contains("2001:4860:4860::8888/32", "2001:4860:4860:1234::8888/40", x) + } + note: netcidrcontains/cidr contains subnet ipv6 + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0097.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0097.yaml index 8ed6a84991..f844a441f7 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0097.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0097.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_contains("2001:4860:4860::8888/32", "2001:4860:4860:1234:5678:1234:5678:8888/128", x) - } - note: netcidrcontains/cidr contains single ip subnet ipv6 - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + net.cidr_contains("2001:4860:4860::8888/32", "2001:4860:4860:1234:5678:1234:5678:8888/128", x) + } + note: netcidrcontains/cidr contains single ip subnet ipv6 + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0098.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0098.yaml index 9c49209a3e..c131bcf76a 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0098.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0098.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_contains("2001:4860::/96", "2001:4860::/32", x) - } - note: netcidrcontains/cidr does not contain subnet partial ipv6 - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + net.cidr_contains("2001:4860::/96", "2001:4860::/32", x) + } + note: netcidrcontains/cidr does not contain subnet partial ipv6 + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0099.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0099.yaml index 77fe4666dd..fc29445828 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0099.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0099.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_contains("2001:4860::/32", "fd1e:5bfe:8af3:9ddc::/64", x) - } - note: netcidrcontains/cidr does not contain subnet ipv6 - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + net.cidr_contains("2001:4860::/32", "fd1e:5bfe:8af3:9ddc::/64", x) + } + note: netcidrcontains/cidr does not contain subnet ipv6 + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0100.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0100.yaml index ba7dd5426b..2204199ebb 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0100.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0100.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - net.cidr_contains("not-a-cidr", "192.168.1.67", x) - } - note: netcidrcontains/cidr subnet overlap malformed cidr a - query: data.generated.p = x - want_error: "" - want_error_code: eval_builtin_error - strict_error: true + p = x { + net.cidr_contains("not-a-cidr", "192.168.1.67", x) + } + note: netcidrcontains/cidr subnet overlap malformed cidr a + query: data.generated.p = x + want_error: "" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0101.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0101.yaml index 959fe63b77..3508632637 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0101.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0101.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - net.cidr_contains("192.168.1.0/28", "not-a-cidr", x) - } - note: netcidrcontains/cidr subnet overlap malformed cidr b - query: data.generated.p = x - want_error: "" - want_error_code: eval_builtin_error - strict_error: true + p = x { + net.cidr_contains("192.168.1.0/28", "not-a-cidr", x) + } + note: netcidrcontains/cidr subnet overlap malformed cidr b + query: data.generated.p = x + want_error: "" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0102.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0102.yaml index 7dd2de8868..5462780563 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0102.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0102.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_contains("10.0.0.0/8", "10.1.2.3", x) - } - note: netcidrcontains/cidr contains ip - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + net.cidr_contains("10.0.0.0/8", "10.1.2.3", x) + } + note: netcidrcontains/cidr contains ip + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0103.yaml b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0103.yaml index 43ef778503..a47c1f7b52 100644 --- a/test/cases/testdata/netcidrcontains/test-netcidrcontains-0103.yaml +++ b/test/cases/testdata/netcidrcontains/test-netcidrcontains-0103.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_contains("10.0.0.0/8", "192.168.1.1", x) - } - note: netcidrcontains/cidr does not contain ip - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + net.cidr_contains("10.0.0.0/8", "192.168.1.1", x) + } + note: netcidrcontains/cidr does not contain ip + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0104.yaml b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0104.yaml index 5c93aafc5b..3bf479a186 100644 --- a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0104.yaml +++ b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0104.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - net.cidr_contains_matches("1.1.1.0/24", "1.1.1.1", __local1__) - __local0__ = __local1__ - } - note: netcidrcontainsmatches/strings - query: data.generated.p = x - want_result: - - x: - - - 1.1.1.0/24 - - 1.1.1.1 + p = __local0__ { + net.cidr_contains_matches("1.1.1.0/24", "1.1.1.1", __local1__) + __local0__ = __local1__ + } + note: netcidrcontainsmatches/strings + query: data.generated.p = x + want_result: + - x: + - - 1.1.1.0/24 + - 1.1.1.1 diff --git a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0105.yaml b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0105.yaml index a3f3172d66..a61b154ce8 100644 --- a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0105.yaml +++ b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0105.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - net.cidr_contains_matches(["1.1.2.0/24", "1.1.1.0/24"], ["1.1.1.1", "1.1.2.1"], __local1__) - __local0__ = __local1__ - } - note: netcidrcontainsmatches/arrays - query: data.generated.p = x - want_result: - - x: - - - 0 - - 1 - - - 1 - - 0 + p = __local0__ { + net.cidr_contains_matches(["1.1.2.0/24", "1.1.1.0/24"], ["1.1.1.1", "1.1.2.1"], __local1__) + __local0__ = __local1__ + } + note: netcidrcontainsmatches/arrays + query: data.generated.p = x + want_result: + - x: + - - 0 + - 1 + - - 1 + - 0 diff --git a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0106.yaml b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0106.yaml index 71ab89f039..4ded4a2e84 100644 --- a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0106.yaml +++ b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0106.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - net.cidr_contains_matches([["1.1.2.0/24", 1], "1.1.1.0/24"], ["1.1.1.1", "1.1.2.1"], __local1__) - __local0__ = __local1__ - } - note: netcidrcontainsmatches/arrays of tuples - query: data.generated.p = x - want_result: - - x: - - - 0 - - 1 - - - 1 - - 0 + p = __local0__ { + net.cidr_contains_matches([["1.1.2.0/24", 1], "1.1.1.0/24"], ["1.1.1.1", "1.1.2.1"], __local1__) + __local0__ = __local1__ + } + note: netcidrcontainsmatches/arrays of tuples + query: data.generated.p = x + want_result: + - x: + - - 0 + - 1 + - - 1 + - 0 diff --git a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0107.yaml b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0107.yaml index 647851b8b1..37be52de0d 100644 --- a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0107.yaml +++ b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0107.yaml @@ -1,19 +1,21 @@ +--- cases: -- data: - a: - - 1 - modules: - - | - package generated + - data: + a: + - 1 + modules: + - | + package generated - p = __local0__ { - __local2__ = data.a[0] - net.cidr_contains_matches(["1.1.2.0/24", "1.1.1.0/24"], ["1.1.1.1", __local2__], __local1__) - __local0__ = __local1__ - } - note: netcidrcontainsmatches/bad array - query: data.generated.p = x - strict_error: true - want_error: 'net.cidr_contains_matches: operand 2: element must be string or non-empty - array' - want_error_code: eval_builtin_error + p = __local0__ { + __local2__ = data.a[0] + net.cidr_contains_matches(["1.1.2.0/24", "1.1.1.0/24"], ["1.1.1.1", __local2__], __local1__) + __local0__ = __local1__ + } + note: netcidrcontainsmatches/bad array + query: data.generated.p = x + strict_error: true + want_error: + "net.cidr_contains_matches: operand 2: element must be string or non-empty + array" + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0108.yaml b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0108.yaml index fed10d441b..131a78e243 100644 --- a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0108.yaml +++ b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0108.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - net.cidr_contains_matches({"1.1.1.0/24", "1.1.2.0/24"}, {"1.1.1.1", "1.1.2.1"}, __local1__) - __local0__ = __local1__ - } - note: netcidrcontainsmatches/sets of strings - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1.1.1.0/24 - - 1.1.1.1 - - - 1.1.2.0/24 - - 1.1.2.1 + p = __local0__ { + net.cidr_contains_matches({"1.1.1.0/24", "1.1.2.0/24"}, {"1.1.1.1", "1.1.2.1"}, __local1__) + __local0__ = __local1__ + } + note: netcidrcontainsmatches/sets of strings + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1.1.1.0/24 + - 1.1.1.1 + - - 1.1.2.0/24 + - 1.1.2.1 diff --git a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0109.yaml b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0109.yaml index 8a3413bf5c..43dc73e07c 100644 --- a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0109.yaml +++ b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0109.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - net.cidr_contains_matches({["1.1.1.0/24", "bar"], ["1.1.2.0/24", "foo"]}, {["1.1.1.1", "baz"], ["1.1.2.1", "qux"]}, __local1__) - __local0__ = __local1__ - } - note: netcidrcontainsmatches/sets of tuples - query: data.generated.p = x - want_result: - - x: - - - - 1.1.1.0/24 - - bar - - - 1.1.1.1 - - baz - - - - 1.1.2.0/24 - - foo - - - 1.1.2.1 - - qux + p = __local0__ { + net.cidr_contains_matches({["1.1.1.0/24", "bar"], ["1.1.2.0/24", "foo"]}, {["1.1.1.1", "baz"], ["1.1.2.1", "qux"]}, __local1__) + __local0__ = __local1__ + } + note: netcidrcontainsmatches/sets of tuples + query: data.generated.p = x + want_result: + - x: + - - - 1.1.1.0/24 + - bar + - - 1.1.1.1 + - baz + - - - 1.1.2.0/24 + - foo + - - 1.1.2.1 + - qux diff --git a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0110.yaml b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0110.yaml index 1f99501e71..ec95522200 100644 --- a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0110.yaml +++ b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0110.yaml @@ -1,19 +1,21 @@ +--- cases: -- data: - a: - - 1 - modules: - - | - package generated + - data: + a: + - 1 + modules: + - | + package generated - p = __local0__ { - __local2__ = data.a[0] - net.cidr_contains_matches({["1.1.1.0/24", "bar"], ["1.1.2.0/24", "foo"]}, {__local2__, ["1.1.2.1", "qux"]}, __local1__) - __local0__ = __local1__ - } - note: netcidrcontainsmatches/bad set - query: data.generated.p = x - strict_error: true - want_error: 'net.cidr_contains_matches: operand 2: element must be string or non-empty - array' - want_error_code: eval_builtin_error + p = __local0__ { + __local2__ = data.a[0] + net.cidr_contains_matches({["1.1.1.0/24", "bar"], ["1.1.2.0/24", "foo"]}, {__local2__, ["1.1.2.1", "qux"]}, __local1__) + __local0__ = __local1__ + } + note: netcidrcontainsmatches/bad set + query: data.generated.p = x + strict_error: true + want_error: + "net.cidr_contains_matches: operand 2: element must be string or non-empty + array" + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0111.yaml b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0111.yaml index 61ef5232ed..95b6c349f7 100644 --- a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0111.yaml +++ b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0111.yaml @@ -1,16 +1,18 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = __local0__ { - net.cidr_contains_matches({["1.1.1.0/24", "bar"], ["1.1.2.0/24", "foo"]}, {[], ["1.1.2.1", "qux"]}, __local1__) - __local0__ = __local1__ - } - note: netcidrcontainsmatches/bad set tuple element - query: data.generated.p = x - want_error: 'net.cidr_contains_matches: operand 2: element must be string or non-empty - array' - want_error_code: eval_builtin_error - strict_error: true + p = __local0__ { + net.cidr_contains_matches({["1.1.1.0/24", "bar"], ["1.1.2.0/24", "foo"]}, {[], ["1.1.2.1", "qux"]}, __local1__) + __local0__ = __local1__ + } + note: netcidrcontainsmatches/bad set tuple element + query: data.generated.p = x + want_error: + "net.cidr_contains_matches: operand 2: element must be string or non-empty + array" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0112.yaml b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0112.yaml index 583d9b1b79..f4c473200d 100644 --- a/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0112.yaml +++ b/test/cases/testdata/netcidrcontainsmatches/test-netcidrcontainsmatches-0112.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - net.cidr_contains_matches({"k1": "1.1.1.1/24", "k2": ["1.1.1.2/24", 1]}, "1.1.1.128", __local1__) - __local0__ = __local1__ - } - note: netcidrcontainsmatches/objects - query: data.generated.p = x - want_result: - - x: - - - k1 - - 1.1.1.128 - - - k2 - - 1.1.1.128 + p = __local0__ { + net.cidr_contains_matches({"k1": "1.1.1.1/24", "k2": ["1.1.1.2/24", 1]}, "1.1.1.128", __local1__) + __local0__ = __local1__ + } + note: netcidrcontainsmatches/objects + query: data.generated.p = x + want_result: + - x: + - - k1 + - 1.1.1.128 + - - k2 + - 1.1.1.128 diff --git a/test/cases/testdata/netcidrexpand/test-netcidrexpand-0113.yaml b/test/cases/testdata/netcidrexpand/test-netcidrexpand-0113.yaml index 6eb124ba25..0597cc1155 100644 --- a/test/cases/testdata/netcidrexpand/test-netcidrexpand-0113.yaml +++ b/test/cases/testdata/netcidrexpand/test-netcidrexpand-0113.yaml @@ -1,17 +1,18 @@ +--- cases: -- modules: - - | - package generated + - modules: + - | + package generated - p = x { - net.cidr_expand("192.168.1.1/30", x) - } - note: netcidrexpand/cidr includes host and broadcast - query: data.generated.p = x - want_result: - - x: - - 192.168.1.0 - - 192.168.1.1 - - 192.168.1.2 - - 192.168.1.3 - sort_bindings: true \ No newline at end of file + p = x { + net.cidr_expand("192.168.1.1/30", x) + } + note: netcidrexpand/cidr includes host and broadcast + query: data.generated.p = x + want_result: + - x: + - 192.168.1.0 + - 192.168.1.1 + - 192.168.1.2 + - 192.168.1.3 + sort_bindings: true diff --git a/test/cases/testdata/netcidrexpand/test-netcidrexpand-0114.yaml b/test/cases/testdata/netcidrexpand/test-netcidrexpand-0114.yaml index e83238f5b5..4be5657043 100644 --- a/test/cases/testdata/netcidrexpand/test-netcidrexpand-0114.yaml +++ b/test/cases/testdata/netcidrexpand/test-netcidrexpand-0114.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - net.cidr_expand("172.16.100.255/30", x) - } - note: netcidrexpand/cidr last octet all 1s - query: data.generated.p = x - want_result: - - x: - - 172.16.100.252 - - 172.16.100.253 - - 172.16.100.254 - - 172.16.100.255 + p = x { + net.cidr_expand("172.16.100.255/30", x) + } + note: netcidrexpand/cidr last octet all 1s + query: data.generated.p = x + want_result: + - x: + - 172.16.100.252 + - 172.16.100.253 + - 172.16.100.254 + - 172.16.100.255 diff --git a/test/cases/testdata/netcidrexpand/test-netcidrexpand-0115.yaml b/test/cases/testdata/netcidrexpand/test-netcidrexpand-0115.yaml index 17046788fb..4d5f88f94b 100644 --- a/test/cases/testdata/netcidrexpand/test-netcidrexpand-0115.yaml +++ b/test/cases/testdata/netcidrexpand/test-netcidrexpand-0115.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - net.cidr_expand("192.168.1.1/32", x) - } - note: netcidrexpand/cidr all bits - query: data.generated.p = x - want_result: - - x: - - 192.168.1.1 + p = x { + net.cidr_expand("192.168.1.1/32", x) + } + note: netcidrexpand/cidr all bits + query: data.generated.p = x + want_result: + - x: + - 192.168.1.1 diff --git a/test/cases/testdata/netcidrexpand/test-netcidrexpand-0116.yaml b/test/cases/testdata/netcidrexpand/test-netcidrexpand-0116.yaml index 1e27cfa6c6..ed1bd98eef 100644 --- a/test/cases/testdata/netcidrexpand/test-netcidrexpand-0116.yaml +++ b/test/cases/testdata/netcidrexpand/test-netcidrexpand-0116.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - net.cidr_expand("192.168.1.1/33", x) - } - note: netcidrexpand/cidr invalid mask - query: data.generated.p = x - want_error: 'net.cidr_expand: invalid CIDR address: 192.168.1.1/33' - want_error_code: eval_builtin_error - strict_error: true + p = x { + net.cidr_expand("192.168.1.1/33", x) + } + note: netcidrexpand/cidr invalid mask + query: data.generated.p = x + want_error: "net.cidr_expand: invalid CIDR address: 192.168.1.1/33" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0086.yaml b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0086.yaml index c876bdc88e..7c6dfe027a 100644 --- a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0086.yaml +++ b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0086.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_intersects("192.168.1.0/25", "192.168.1.64/25", x) - } - note: netcidrintersects/cidr subnet overlaps - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + net.cidr_intersects("192.168.1.0/25", "192.168.1.64/25", x) + } + note: netcidrintersects/cidr subnet overlaps + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0087.yaml b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0087.yaml index aff07ad81c..096615d45a 100644 --- a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0087.yaml +++ b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0087.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_intersects("192.168.1.0/24", "192.168.2.0/24", x) - } - note: netcidrintersects/cidr subnet does not overlap - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + net.cidr_intersects("192.168.1.0/24", "192.168.2.0/24", x) + } + note: netcidrintersects/cidr subnet does not overlap + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0088.yaml b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0088.yaml index e216d93251..552ff2b8a3 100644 --- a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0088.yaml +++ b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0088.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_intersects("fd1e:5bfe:8af3:9ddc::/64", "fd1e:5bfe:8af3:9ddc:1111::/72", x) - } - note: netcidrintersects/cidr ipv6 subnet overlaps - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + net.cidr_intersects("fd1e:5bfe:8af3:9ddc::/64", "fd1e:5bfe:8af3:9ddc:1111::/72", x) + } + note: netcidrintersects/cidr ipv6 subnet overlaps + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0089.yaml b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0089.yaml index 79f1c5aa2e..11b1ccee44 100644 --- a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0089.yaml +++ b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0089.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_intersects("fd1e:5bfe:8af3:9ddc::/64", "2001:4860:4860::8888/32", x) - } - note: netcidrintersects/cidr ipv6 subnet does not overlap - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + net.cidr_intersects("fd1e:5bfe:8af3:9ddc::/64", "2001:4860:4860::8888/32", x) + } + note: netcidrintersects/cidr ipv6 subnet does not overlap + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0090.yaml b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0090.yaml index eb6785d68a..7fa1ad7d40 100644 --- a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0090.yaml +++ b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0090.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - net.cidr_intersects("not-a-cidr", "192.168.1.0/24", x) - } - note: netcidrintersects/cidr subnet overlap malformed cidr a - query: data.generated.p = x - want_error: "" - want_error_code: eval_builtin_error - strict_error: true + p = x { + net.cidr_intersects("not-a-cidr", "192.168.1.0/24", x) + } + note: netcidrintersects/cidr subnet overlap malformed cidr a + query: data.generated.p = x + want_error: "" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0091.yaml b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0091.yaml index 22776d121b..191e776d91 100644 --- a/test/cases/testdata/netcidrintersects/test-netcidrintersects-0091.yaml +++ b/test/cases/testdata/netcidrintersects/test-netcidrintersects-0091.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - net.cidr_intersects("192.168.1.0/28", "not-a-cidr", x) - } - note: netcidrintersects/cidr subnet overlap malformed cidr b - query: data.generated.p = x - want_error: "" - want_error_code: eval_builtin_error - strict_error: true + p = x { + net.cidr_intersects("192.168.1.0/28", "not-a-cidr", x) + } + note: netcidrintersects/cidr subnet overlap malformed cidr b + query: data.generated.p = x + want_error: "" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/netcidrisvalid/test_netcidrisvalid-0001.yaml b/test/cases/testdata/netcidrisvalid/test_netcidrisvalid-0001.yaml index 2c46d5ed1b..538c51808a 100644 --- a/test/cases/testdata/netcidrisvalid/test_netcidrisvalid-0001.yaml +++ b/test/cases/testdata/netcidrisvalid/test_netcidrisvalid-0001.yaml @@ -1,66 +1,67 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - net.cidr_is_valid("192.168.1.0/24", __local0__) - x = __local0__ - } - note: valid ipv4 cidr - query: data.generated.p = x - want_result: - - x: true -- data: {} - modules: - - | - package generated + p = x { + net.cidr_is_valid("192.168.1.0/24", __local0__) + x = __local0__ + } + note: valid ipv4 cidr + query: data.generated.p = x + want_result: + - x: true + - data: {} + modules: + - | + package generated - p = x { - net.cidr_is_valid("", __local0__) - x = __local0__ - } - note: empty cidr - query: data.generated.p = x - want_result: - - x: false -- data: {} - modules: - - | - package generated + p = x { + net.cidr_is_valid("", __local0__) + x = __local0__ + } + note: empty cidr + query: data.generated.p = x + want_result: + - x: false + - data: {} + modules: + - | + package generated - p = x { - net.cidr_is_valid("there goes a string", __local0__) - x = __local0__ - } - note: random string - query: data.generated.p = x - want_result: - - x: false -- data: {} - modules: - - | - package generated + p = x { + net.cidr_is_valid("there goes a string", __local0__) + x = __local0__ + } + note: random string + query: data.generated.p = x + want_result: + - x: false + - data: {} + modules: + - | + package generated - p = x { - net.cidr_is_valid("192.168.1.2", __local0__) - x = __local0__ - } - note: valid ipv4 address - query: data.generated.p = x - want_result: - - x: false -- data: {} - modules: - - | - package generated + p = x { + net.cidr_is_valid("192.168.1.2", __local0__) + x = __local0__ + } + note: valid ipv4 address + query: data.generated.p = x + want_result: + - x: false + - data: {} + modules: + - | + package generated - p = x { - net.cidr_is_valid("2002::1234:abcd:ffff:c0a8:101/64", __local0__) - x = __local0__ - } - note: valid ipv6 cidr - query: data.generated.p = x - want_result: - - x: true + p = x { + net.cidr_is_valid("2002::1234:abcd:ffff:c0a8:101/64", __local0__) + x = __local0__ + } + note: valid ipv6 cidr + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/netcidrmerge/test-ipv6-with-and-without-prefix.yaml b/test/cases/testdata/netcidrmerge/test-ipv6-with-and-without-prefix.yaml index 8642fc6e0a..a24acbc4ef 100644 --- a/test/cases/testdata/netcidrmerge/test-ipv6-with-and-without-prefix.yaml +++ b/test/cases/testdata/netcidrmerge/test-ipv6-with-and-without-prefix.yaml @@ -1,59 +1,60 @@ +--- cases: -- note: netcidrmerge/cidr ipv6 with prefix - modules: - - | - package test + - note: netcidrmerge/cidr ipv6 with prefix + modules: + - | + package test - p = x { - net.cidr_merge(["2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128"], x) - } - query: data.test.p = x - want_result: - - x: - - "2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128" -- note: netcidrmerge/cidr ipv6 with prefix, same twice - modules: - - | - package test + p = x { + net.cidr_merge(["2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128"], x) + } + query: data.test.p = x + want_result: + - x: + - "2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128" + - note: netcidrmerge/cidr ipv6 with prefix, same twice + modules: + - | + package test - p = x { - net.cidr_merge(["2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128", "2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128"], x) - } - query: data.test.p = x - want_result: - - x: - - "2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128" -- note: netcidrmerge/cidr ipv6 with prefix, two different prefixes - modules: - - | - package test + p = x { + net.cidr_merge(["2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128", "2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128"], x) + } + query: data.test.p = x + want_result: + - x: + - "2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128" + - note: netcidrmerge/cidr ipv6 with prefix, two different prefixes + modules: + - | + package test - p = x { - net.cidr_merge(["2601:600:8a80:207e:a57d:7567:e2c9:e7b3/64", "2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128"], x) - } - query: data.test.p = x - want_result: - - x: - - "2601:600:8a80:207e::/64" -- note: netcidrmerge/cidr ipv6 without prefix - modules: - - | - package test + p = x { + net.cidr_merge(["2601:600:8a80:207e:a57d:7567:e2c9:e7b3/64", "2601:600:8a80:207e:a57d:7567:e2c9:e7b3/128"], x) + } + query: data.test.p = x + want_result: + - x: + - "2601:600:8a80:207e::/64" + - note: netcidrmerge/cidr ipv6 without prefix + modules: + - | + package test - p = x { - net.cidr_merge(["2601:600:8a80:207e:a57d:7567:e2c9:e7b3"], x) - } - query: data.test.p = x - strict_error: true - want_error: "eval_builtin_error: net.cidr_merge: IPv6 invalid: needs prefix length" -- note: netcidrmerge/cidr ipv6 without prefix, same twice - modules: - - | - package test + p = x { + net.cidr_merge(["2601:600:8a80:207e:a57d:7567:e2c9:e7b3"], x) + } + query: data.test.p = x + strict_error: true + want_error: "eval_builtin_error: net.cidr_merge: IPv6 invalid: needs prefix length" + - note: netcidrmerge/cidr ipv6 without prefix, same twice + modules: + - | + package test - p = x { - net.cidr_merge(["2601:600:8a80:207e:a57d:7567:e2c9:e7b3", "2601:600:8a80:207e:a57d:7567:e2c9:e7b3"], x) - } - query: data.test.p = x - strict_error: true - want_error: "eval_builtin_error: net.cidr_merge: IPv6 invalid: needs prefix length" \ No newline at end of file + p = x { + net.cidr_merge(["2601:600:8a80:207e:a57d:7567:e2c9:e7b3", "2601:600:8a80:207e:a57d:7567:e2c9:e7b3"], x) + } + query: data.test.p = x + strict_error: true + want_error: "eval_builtin_error: net.cidr_merge: IPv6 invalid: needs prefix length" diff --git a/test/cases/testdata/netcidrmerge/test-netcidrmerge0117.yaml b/test/cases/testdata/netcidrmerge/test-netcidrmerge0117.yaml index dac847d6fb..6ad7d4cd04 100644 --- a/test/cases/testdata/netcidrmerge/test-netcidrmerge0117.yaml +++ b/test/cases/testdata/netcidrmerge/test-netcidrmerge0117.yaml @@ -1,3 +1,4 @@ +--- cases: - note: netcidrmerge/cidr single subnet modules: @@ -9,7 +10,7 @@ cases: } query: data.test.p = x want_result: - - x: + - x: - 192.0.128.0/24 - note: netcidrmerge/cidr duplicate modules: @@ -210,4 +211,4 @@ cases: } query: data.test.p = x want_error_code: eval_builtin_error - strict_error: true \ No newline at end of file + strict_error: true diff --git a/test/cases/testdata/netcidroverlap/test-netcidroverlap-0084.yaml b/test/cases/testdata/netcidroverlap/test-netcidroverlap-0084.yaml index dc3dd17cf5..af11ef7d27 100644 --- a/test/cases/testdata/netcidroverlap/test-netcidroverlap-0084.yaml +++ b/test/cases/testdata/netcidroverlap/test-netcidroverlap-0084.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_overlap("192.168.1.0/24", "192.168.1.67", x) - } - note: netcidroverlap/cidr match - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + net.cidr_overlap("192.168.1.0/24", "192.168.1.67", x) + } + note: netcidroverlap/cidr match + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/netcidroverlap/test-netcidroverlap-0085.yaml b/test/cases/testdata/netcidroverlap/test-netcidroverlap-0085.yaml index d339ee4040..2af70eca45 100644 --- a/test/cases/testdata/netcidroverlap/test-netcidroverlap-0085.yaml +++ b/test/cases/testdata/netcidroverlap/test-netcidroverlap-0085.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - net.cidr_overlap("192.168.1.0/28", "192.168.1.67", x) - } - note: netcidroverlap/cidr mismatch - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + net.cidr_overlap("192.168.1.0/28", "192.168.1.67", x) + } + note: netcidroverlap/cidr mismatch + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/netlookupipaddr/test-netlookupipaddr.yaml b/test/cases/testdata/netlookupipaddr/test-netlookupipaddr.yaml index 4512afae03..109016e6b4 100644 --- a/test/cases/testdata/netlookupipaddr/test-netlookupipaddr.yaml +++ b/test/cases/testdata/netlookupipaddr/test-netlookupipaddr.yaml @@ -1,45 +1,46 @@ +--- cases: -- data: - modules: - - | - package test + - data: + modules: + - | + package test - p = x { - x := net.lookup_ip_addr("10.0.0.0") - } - note: net.lookup_ip_addr/simple ip4 returns that ip4 - query: data.test.p = x - want_result: - - x: - - 10.0.0.0 -- data: - modules: - - | - package test + p = x { + x := net.lookup_ip_addr("10.0.0.0") + } + note: net.lookup_ip_addr/simple ip4 returns that ip4 + query: data.test.p = x + want_result: + - x: + - 10.0.0.0 + - data: + modules: + - | + package test - p = x { - x := net.lookup_ip_addr("::") - } - note: net.lookup_ip_addr/simple ip6 returns that ip6 - query: data.test.p = x - want_result: - - x: - - '::' -- data: - modules: - - | - package test - # one of these should be the case on any system - p { - net.lookup_ip_addr("localhost") == {"127.0.0.1"} - } - p { - net.lookup_ip_addr("localhost") == {"127.0.0.1", "::1"} - } - p { - net.lookup_ip_addr("localhost") == {"::1"} - } - note: net.lookup_ip_addr/localhost - query: data.test.p = x - want_result: - - x: true \ No newline at end of file + p = x { + x := net.lookup_ip_addr("::") + } + note: net.lookup_ip_addr/simple ip6 returns that ip6 + query: data.test.p = x + want_result: + - x: + - "::" + - data: + modules: + - | + package test + # one of these should be the case on any system + p { + net.lookup_ip_addr("localhost") == {"127.0.0.1"} + } + p { + net.lookup_ip_addr("localhost") == {"127.0.0.1", "::1"} + } + p { + net.lookup_ip_addr("localhost") == {"::1"} + } + note: net.lookup_ip_addr/localhost + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/numbersrange/test-numbersrange-0256.yaml b/test/cases/testdata/numbersrange/test-numbersrange-0256.yaml index 8caf9d8736..1dcda3964f 100644 --- a/test/cases/testdata/numbersrange/test-numbersrange-0256.yaml +++ b/test/cases/testdata/numbersrange/test-numbersrange-0256.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - numbers.range(0, 0, __local1__) - __local0__ = __local1__ - } - note: numbersrange/one - query: data.generated.p = x - want_result: - - x: - - 0 + p = __local0__ { + numbers.range(0, 0, __local1__) + __local0__ = __local1__ + } + note: numbersrange/one + query: data.generated.p = x + want_result: + - x: + - 0 diff --git a/test/cases/testdata/numbersrange/test-numbersrange-0257.yaml b/test/cases/testdata/numbersrange/test-numbersrange-0257.yaml index 59dfc67918..41f41ab3d9 100644 --- a/test/cases/testdata/numbersrange/test-numbersrange-0257.yaml +++ b/test/cases/testdata/numbersrange/test-numbersrange-0257.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - numbers.range(-2, 3, __local1__) - __local0__ = __local1__ - } - note: numbersrange/ascending - query: data.generated.p = x - want_result: - - x: - - -2 - - -1 - - 0 - - 1 - - 2 - - 3 + p = __local0__ { + numbers.range(-2, 3, __local1__) + __local0__ = __local1__ + } + note: numbersrange/ascending + query: data.generated.p = x + want_result: + - x: + - -2 + - -1 + - 0 + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/numbersrange/test-numbersrange-0258.yaml b/test/cases/testdata/numbersrange/test-numbersrange-0258.yaml index 0abe4f7a77..b2fe4f23cb 100644 --- a/test/cases/testdata/numbersrange/test-numbersrange-0258.yaml +++ b/test/cases/testdata/numbersrange/test-numbersrange-0258.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - numbers.range(2, -3, __local1__) - __local0__ = __local1__ - } - note: numbersrange/descending - query: data.generated.p = x - want_result: - - x: - - 2 - - 1 - - 0 - - -1 - - -2 - - -3 + p = __local0__ { + numbers.range(2, -3, __local1__) + __local0__ = __local1__ + } + note: numbersrange/descending + query: data.generated.p = x + want_result: + - x: + - 2 + - 1 + - 0 + - -1 + - -2 + - -3 diff --git a/test/cases/testdata/numbersrange/test-numbersrange-0259.yaml b/test/cases/testdata/numbersrange/test-numbersrange-0259.yaml index 2669ac1113..75d8e3575d 100644 --- a/test/cases/testdata/numbersrange/test-numbersrange-0259.yaml +++ b/test/cases/testdata/numbersrange/test-numbersrange-0259.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - numbers.range(49649733057, 49649733060, [49649733057, 49649733058, 49649733059, 49649733060]) - } - note: numbersrange/precision - query: data.generated.p = x - want_result: - - x: true + p { + numbers.range(49649733057, 49649733060, [49649733057, 49649733058, 49649733059, 49649733060]) + } + note: numbersrange/precision + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/numbersrange/test-numbersrange-0260.yaml b/test/cases/testdata/numbersrange/test-numbersrange-0260.yaml index c286d04c4f..f70832efef 100644 --- a/test/cases/testdata/numbersrange/test-numbersrange-0260.yaml +++ b/test/cases/testdata/numbersrange/test-numbersrange-0260.yaml @@ -1,15 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p { - numbers.range(3.14, 4) - } - note: 'numbersrange/error: floating-point number pos 1' - query: data.generated.p = x - want_error: 'numbers.range: operand 1 must be integer number but got floating-point - number' - want_error_code: eval_type_error - strict_error: true \ No newline at end of file + p { + numbers.range(3.14, 4) + } + note: "numbersrange/error: floating-point number pos 1" + query: data.generated.p = x + want_error: + "numbers.range: operand 1 must be integer number but got floating-point + number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/numbersrange/test-numbersrange-0261.yaml b/test/cases/testdata/numbersrange/test-numbersrange-0261.yaml index ef7251d9c5..dcd265edd2 100644 --- a/test/cases/testdata/numbersrange/test-numbersrange-0261.yaml +++ b/test/cases/testdata/numbersrange/test-numbersrange-0261.yaml @@ -1,15 +1,17 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p { - numbers.range(3, 3.14) - } - note: 'numbersrange/error: floating-point number pos 2' - query: data.generated.p = x - want_error: 'numbers.range: operand 2 must be integer number but got floating-point - number' - want_error_code: eval_type_error - strict_error: true + p { + numbers.range(3, 3.14) + } + note: "numbersrange/error: floating-point number pos 2" + query: data.generated.p = x + want_error: + "numbers.range: operand 2 must be integer number but got floating-point + number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/numbersrangestep/test-numbersrangestep.yaml b/test/cases/testdata/numbersrangestep/test-numbersrangestep.yaml index 6388cc3d10..a203acc3ce 100644 --- a/test/cases/testdata/numbersrangestep/test-numbersrangestep.yaml +++ b/test/cases/testdata/numbersrangestep/test-numbersrangestep.yaml @@ -1,87 +1,88 @@ +--- cases: -- note: numbersrangestep/ascending - query: data.test.p = x - modules: - - | - package test + - note: numbersrangestep/ascending + query: data.test.p = x + modules: + - | + package test - p = num { - num := numbers.range_step(0, 10, 2) - } - want_result: - - x: - - 0 - - 2 - - 4 - - 6 - - 8 - - 10 -- note: numbersrangestep/descending - query: data.test.p = x - modules: - - | - package test + p = num { + num := numbers.range_step(0, 10, 2) + } + want_result: + - x: + - 0 + - 2 + - 4 + - 6 + - 8 + - 10 + - note: numbersrangestep/descending + query: data.test.p = x + modules: + - | + package test - p = num { - num := numbers.range_step(0, -10, 2) - } - want_result: - - x: - - 0 - - -2 - - -4 - - -6 - - -8 - - -10 -- note: numbersrangestep/negative - query: data.test.p = x - modules: - - | - package test + p = num { + num := numbers.range_step(0, -10, 2) + } + want_result: + - x: + - 0 + - -2 + - -4 + - -6 + - -8 + - -10 + - note: numbersrangestep/negative + query: data.test.p = x + modules: + - | + package test - p = num { - num := numbers.range_step(0, 10, -2) - } - want_error: 'numbers.range_step: step must be a positive number above zero' - want_error_code: eval_builtin_error - strict_error: true -- note: numbersrangestep/memoryexample - query: data.test.p = x - modules: - - | - package test + p = num { + num := numbers.range_step(0, 10, -2) + } + want_error: "numbers.range_step: step must be a positive number above zero" + want_error_code: eval_builtin_error + strict_error: true + - note: numbersrangestep/memoryexample + query: data.test.p = x + modules: + - | + package test - p = num { - num := numbers.range_step(1024, 4096, 1024) - } - want_result: - - x: - - 1024 - - 2048 - - 3072 - - 4096 -- note: numbersrangestep/equal - query: data.test.p = x - modules: - - | - package test + p = num { + num := numbers.range_step(1024, 4096, 1024) + } + want_result: + - x: + - 1024 + - 2048 + - 3072 + - 4096 + - note: numbersrangestep/equal + query: data.test.p = x + modules: + - | + package test - p = num { - num := numbers.range_step(2, 2, 2) - } - want_result: - - x: - - 2 -- note: numbersrangestep/notinrange - query: data.test.p = x - modules: - - | - package test + p = num { + num := numbers.range_step(2, 2, 2) + } + want_result: + - x: + - 2 + - note: numbersrangestep/notinrange + query: data.test.p = x + modules: + - | + package test - p = num { - num := numbers.range_step(2, 5, 2) - } - want_result: - - x: - - 2 - - 4 + p = num { + num := numbers.range_step(2, 5, 2) + } + want_result: + - x: + - 2 + - 4 diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0300.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0300.yaml index 7ce2caecd1..dd737c9670 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0300.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0300.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/base - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 7 - d: 8 + p = __local0__ { + object.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/base + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 7 + d: 8 diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0301.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0301.yaml index ac4deca18a..04c8e48979 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0301.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0301.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.filter({"a": 1, "b": 2, "c": 3, "e": 9}, {"a", "e"}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/multiple roots set - query: data.generated.p = x - want_result: - - x: - a: 1 - e: 9 + p = __local0__ { + object.filter({"a": 1, "b": 2, "c": 3, "e": 9}, {"a", "e"}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/multiple roots set + query: data.generated.p = x + want_result: + - x: + a: 1 + e: 9 diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0302.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0302.yaml index fe8ce8bded..7515d84ef5 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0302.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0302.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.filter({"a": 1, "b": 2, "c": 3, "e": 9}, ["a", "e"], __local1__) - __local0__ = __local1__ - } - note: objectfilter/multiple roots array - query: data.generated.p = x - want_result: - - x: - a: 1 - e: 9 + p = __local0__ { + object.filter({"a": 1, "b": 2, "c": 3, "e": 9}, ["a", "e"], __local1__) + __local0__ = __local1__ + } + note: objectfilter/multiple roots array + query: data.generated.p = x + want_result: + - x: + a: 1 + e: 9 diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0303.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0303.yaml index d12b954f62..b4dd9edcbb 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0303.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0303.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.filter({"a": 1, "b": 2, "c": 3, "e": 9}, {"a": "foo", "e": ""}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/multiple roots object - query: data.generated.p = x - want_result: - - x: - a: 1 - e: 9 + p = __local0__ { + object.filter({"a": 1, "b": 2, "c": 3, "e": 9}, {"a": "foo", "e": ""}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/multiple roots object + query: data.generated.p = x + want_result: + - x: + a: 1 + e: 9 diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0304.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0304.yaml index e1a03a25a3..a4a8480ff5 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0304.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0304.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/duplicate roots - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 7 - d: 8 + p = __local0__ { + object.filter({"a": {"b": {"c": 7, "d": 8}}, "e": 9}, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/duplicate roots + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 7 + d: 8 diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0305.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0305.yaml index 622e6f0263..29cc394221 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0305.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0305.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.filter({"a": 7}, set(), __local1__) - __local0__ = __local1__ - } - note: objectfilter/empty roots set - query: data.generated.p = x - want_result: - - x: {} + p = __local0__ { + object.filter({"a": 7}, set(), __local1__) + __local0__ = __local1__ + } + note: objectfilter/empty roots set + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0306.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0306.yaml index 774dbce852..5725f8a802 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0306.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0306.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.filter({"a": 7}, [], __local1__) - __local0__ = __local1__ - } - note: objectfilter/empty roots array - query: data.generated.p = x - want_result: - - x: {} + p = __local0__ { + object.filter({"a": 7}, [], __local1__) + __local0__ = __local1__ + } + note: objectfilter/empty roots array + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0307.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0307.yaml index 8f4cdc3a6d..b1c3d735aa 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0307.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0307.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.filter({"a": 7}, {}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/empty roots object - query: data.generated.p = x - want_result: - - x: {} + p = __local0__ { + object.filter({"a": 7}, {}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/empty roots object + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0308.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0308.yaml index b124f5cf45..ea31c1a8cb 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0308.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0308.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.filter({}, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/empty object - query: data.generated.p = x - want_result: - - x: {} + p = __local0__ { + object.filter({}, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/empty object + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0309.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0309.yaml index 506bb9fe6e..3d732c8e0c 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0309.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0309.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - input_term: '{"x": ["a"]}' - modules: - - | - package generated + - data: + input_term: '{"x": ["a"]}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.filter(__local2__, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/error invalid object param type array input - query: data.generated.p = x - want_error: 'object.filter: operand 1 must be object but got array' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.filter(__local2__, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/error invalid object param type array input + query: data.generated.p = x + want_error: "object.filter: operand 1 must be object but got array" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0310.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0310.yaml index e9663f4654..89dc5011b4 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0310.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0310.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - input_term: '{"x": false}' - modules: - - | - package generated + - data: + input_term: '{"x": false}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.filter(__local2__, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/error invalid object param type bool input - query: data.generated.p = x - want_error: 'object.filter: operand 1 must be object but got boolean' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.filter(__local2__, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/error invalid object param type bool input + query: data.generated.p = x + want_error: "object.filter: operand 1 must be object but got boolean" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0311.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0311.yaml index 4b67a3f48d..8d3ad7c2ce 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0311.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0311.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - input_term: '{"x": 123}' - modules: - - | - package generated + - data: + input_term: '{"x": 123}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.filter(__local2__, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/error invalid object param type number input - query: data.generated.p = x - want_error: 'object.filter: operand 1 must be object but got number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.filter(__local2__, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/error invalid object param type number input + query: data.generated.p = x + want_error: "object.filter: operand 1 must be object but got number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0312.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0312.yaml index a6af21e639..a7c24b79b9 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0312.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0312.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - input_term: '{"x": "foo"}' - modules: - - | - package generated + - data: + input_term: '{"x": "foo"}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.filter(__local2__, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/error invalid object param type string input - query: data.generated.p = x - want_error: 'object.filter: operand 1 must be object but got string' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.filter(__local2__, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/error invalid object param type string input + query: data.generated.p = x + want_error: "object.filter: operand 1 must be object but got string" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0313.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0313.yaml index ec9d11ecc8..260486505d 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0313.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0313.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - input_term: '{"x": null}' - modules: - - | - package generated + - data: + input_term: '{"x": null}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.filter(__local2__, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectfilter/error invalid object param type nil input - query: data.generated.p = x - want_error: 'object.filter: operand 1 must be object but got null' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.filter(__local2__, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectfilter/error invalid object param type nil input + query: data.generated.p = x + want_error: "object.filter: operand 1 must be object but got null" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0314.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0314.yaml index af808d8ebf..4ac47b9966 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0314.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0314.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - input_term: '{"x": "foo"}' - modules: - - | - package generated + - data: + input_term: '{"x": "foo"}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.filter({"a": 1}, __local2__, __local1__) - __local0__ = __local1__ - } - note: objectfilter/error invalid key param type string input - query: data.generated.p = x - want_error: 'object.filter: operand 2 must be one of {object, set, array} but got string' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.filter({"a": 1}, __local2__, __local1__) + __local0__ = __local1__ + } + note: objectfilter/error invalid key param type string input + query: data.generated.p = x + want_error: "object.filter: operand 2 must be one of {object, set, array} but got string" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0315.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0315.yaml index b43d273919..7596501272 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0315.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0315.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - input_term: '{"x": true}' - modules: - - | - package generated + - data: + input_term: '{"x": true}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.filter({"a": 1}, __local2__, __local1__) - __local0__ = __local1__ - } - note: objectfilter/error invalid key param type boolean input - query: data.generated.p = x - want_error: 'object.filter: operand 2 must be one of {object, set, array} but got boolean' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.filter({"a": 1}, __local2__, __local1__) + __local0__ = __local1__ + } + note: objectfilter/error invalid key param type boolean input + query: data.generated.p = x + want_error: "object.filter: operand 2 must be one of {object, set, array} but got boolean" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0316.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0316.yaml index b2b54243d7..737b288a11 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0316.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0316.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - input_term: '{"x": 22}' - modules: - - | - package generated + - data: + input_term: '{"x": 22}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.filter({"a": 1}, __local2__, __local1__) - __local0__ = __local1__ - } - note: objectfilter/error invalid key param type number input - query: data.generated.p = x - want_error: 'object.filter: operand 2 must be one of {object, set, array} but got number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.filter({"a": 1}, __local2__, __local1__) + __local0__ = __local1__ + } + note: objectfilter/error invalid key param type number input + query: data.generated.p = x + want_error: "object.filter: operand 2 must be one of {object, set, array} but got number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectfilter/test-objectfilter-0317.yaml b/test/cases/testdata/objectfilter/test-objectfilter-0317.yaml index 8717b735a0..27ca4fec02 100644 --- a/test/cases/testdata/objectfilter/test-objectfilter-0317.yaml +++ b/test/cases/testdata/objectfilter/test-objectfilter-0317.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - input_term: '{"x": null}' - modules: - - | - package generated + - data: + input_term: '{"x": null}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.filter({"a": 1}, __local2__, __local1__) - __local0__ = __local1__ - } - note: objectfilter/error invalid key param type nil input - query: data.generated.p = x - want_error: 'object.filter: operand 2 must be one of {object, set, array} but got null' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.filter({"a": 1}, __local2__, __local1__) + __local0__ = __local1__ + } + note: objectfilter/error invalid key param type nil input + query: data.generated.p = x + want_error: "object.filter: operand 2 must be one of {object, set, array} but got null" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectfilteridempotent/test-objectfilteridempotent-0319.yaml b/test/cases/testdata/objectfilteridempotent/test-objectfilteridempotent-0319.yaml index 591f1c1cd0..72bb277593 100644 --- a/test/cases/testdata/objectfilteridempotent/test-objectfilteridempotent-0319.yaml +++ b/test/cases/testdata/objectfilteridempotent/test-objectfilteridempotent-0319.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - __local0__ = {"a": 1, "b": 2, "c": 3} - object.filter(__local0__, {"a"}, __local1__) - __local1__ = {"a": 1} - object.filter(__local0__, {"b"}, __local2__) - __local2__ = {"b": 2} - object.filter(__local0__, {"c"}, __local3__) - __local3__ = {"c": 3} - __local0__ = {"a": 1, "b": 2, "c": 3} - } - note: objectfilteridempotent/TestBuiltinObjectFilterIdempotent - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = {"a": 1, "b": 2, "c": 3} + object.filter(__local0__, {"a"}, __local1__) + __local1__ = {"a": 1} + object.filter(__local0__, {"b"}, __local2__) + __local2__ = {"b": 2} + object.filter(__local0__, {"c"}, __local3__) + __local3__ = {"c": 3} + __local0__ = {"a": 1, "b": 2, "c": 3} + } + note: objectfilteridempotent/TestBuiltinObjectFilterIdempotent + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/objectfilternonstringkey/test-objectfilternonstringkey-0318.yaml b/test/cases/testdata/objectfilternonstringkey/test-objectfilternonstringkey-0318.yaml index 0ff7bead23..0a8144665b 100644 --- a/test/cases/testdata/objectfilternonstringkey/test-objectfilternonstringkey-0318.yaml +++ b/test/cases/testdata/objectfilternonstringkey/test-objectfilternonstringkey-0318.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - object.filter({"a": 1, [[7]]: 2}, {[[7]]}, __local1__) - __local0__ = __local1__ - __local0__ = {[[7]]: 2} - } - note: objectfilternonstringkey/non string root - query: data.generated.p = x - want_result: - - x: true + p { + object.filter({"a": 1, [[7]]: 2}, {[[7]]}, __local1__) + __local0__ = __local1__ + __local0__ = {[[7]]: 2} + } + note: objectfilternonstringkey/non string root + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/objectget/test-objectget-0262.yaml b/test/cases/testdata/objectget/test-objectget-0262.yaml index 9c7e60f21d..b7a003193b 100644 --- a/test/cases/testdata/objectget/test-objectget-0262.yaml +++ b/test/cases/testdata/objectget/test-objectget-0262.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.get({"a": "b"}, "a", "c", __local1__) - __local0__ = __local1__ - } - note: objectget/basic case . found - query: data.generated.p = x - want_result: - - x: b + p = __local0__ { + object.get({"a": "b"}, "a", "c", __local1__) + __local0__ = __local1__ + } + note: objectget/basic case . found + query: data.generated.p = x + want_result: + - x: b diff --git a/test/cases/testdata/objectget/test-objectget-0263.yaml b/test/cases/testdata/objectget/test-objectget-0263.yaml index 76abb50dda..a543d65fdb 100644 --- a/test/cases/testdata/objectget/test-objectget-0263.yaml +++ b/test/cases/testdata/objectget/test-objectget-0263.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.get({"a": "b"}, "c", "c", __local1__) - __local0__ = __local1__ - } - note: objectget/basic case . not found - query: data.generated.p = x - want_result: - - x: c + p = __local0__ { + object.get({"a": "b"}, "c", "c", __local1__) + __local0__ = __local1__ + } + note: objectget/basic case . not found + query: data.generated.p = x + want_result: + - x: c diff --git a/test/cases/testdata/objectget/test-objectget-0264.yaml b/test/cases/testdata/objectget/test-objectget-0264.yaml index 7c9ec1a1e9..fc7d01844d 100644 --- a/test/cases/testdata/objectget/test-objectget-0264.yaml +++ b/test/cases/testdata/objectget/test-objectget-0264.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.get({1: 2}, 1, 3, __local1__) - __local0__ = __local1__ - } - note: objectget/integer key found - query: data.generated.p = x - want_result: - - x: 2 + p = __local0__ { + object.get({1: 2}, 1, 3, __local1__) + __local0__ = __local1__ + } + note: objectget/integer key found + query: data.generated.p = x + want_result: + - x: 2 diff --git a/test/cases/testdata/objectget/test-objectget-0265.yaml b/test/cases/testdata/objectget/test-objectget-0265.yaml index 5716a4fbf4..2758272c2b 100644 --- a/test/cases/testdata/objectget/test-objectget-0265.yaml +++ b/test/cases/testdata/objectget/test-objectget-0265.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.get({1: 2}, 2, 3, __local1__) - __local0__ = __local1__ - } - note: objectget/integer key . not found - query: data.generated.p = x - want_result: - - x: 3 + p = __local0__ { + object.get({1: 2}, 2, 3, __local1__) + __local0__ = __local1__ + } + note: objectget/integer key . not found + query: data.generated.p = x + want_result: + - x: 3 diff --git a/test/cases/testdata/objectget/test-objectget-0266.yaml b/test/cases/testdata/objectget/test-objectget-0266.yaml index 92fd32e5b8..bc60839a5b 100644 --- a/test/cases/testdata/objectget/test-objectget-0266.yaml +++ b/test/cases/testdata/objectget/test-objectget-0266.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.get({"a": {"b": "c"}}, "a", true, __local1__) - __local0__ = __local1__ - } - note: objectget/complex value . found - query: data.generated.p = x - want_result: - - x: - b: c + p = __local0__ { + object.get({"a": {"b": "c"}}, "a", true, __local1__) + __local0__ = __local1__ + } + note: objectget/complex value . found + query: data.generated.p = x + want_result: + - x: + b: c diff --git a/test/cases/testdata/objectget/test-objectget-0267.yaml b/test/cases/testdata/objectget/test-objectget-0267.yaml index 60ce05147e..41efdac6af 100644 --- a/test/cases/testdata/objectget/test-objectget-0267.yaml +++ b/test/cases/testdata/objectget/test-objectget-0267.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.get({"a": {"b": "c"}}, "b", true, __local1__) - __local0__ = __local1__ - } - note: objectget/complex value . not found - query: data.generated.p = x - want_result: - - x: true + p = __local0__ { + object.get({"a": {"b": "c"}}, "b", true, __local1__) + __local0__ = __local1__ + } + note: objectget/complex value . not found + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/objectget/test-objectget-path.yaml b/test/cases/testdata/objectget/test-objectget-path.yaml index 9a0a08a80d..cc3e818c48 100644 --- a/test/cases/testdata/objectget/test-objectget-path.yaml +++ b/test/cases/testdata/objectget/test-objectget-path.yaml @@ -1,124 +1,125 @@ +--- cases: -- note: objectget/empty_path_returns_object - query: data.test.p = x - modules: - - | - package test - - p = x { - x := object.get({"a": 1}, [], 2) - } - want_result: [{x: {a: 1}}] - -- note: objectget/path_with_single_element - query: data.test.p = x - modules: - - | - package test - - p = x { - x := object.get({ "a": 1 }, ["a"], 2) - } - want_result: [{x: 1}] - -- note: objectget/path_with_two_elements - query: data.test.p = x - modules: - - | - package test - - p = x { - x := object.get({ "a": { "b": 1 } }, ["a", "b"], 2) - } - want_result: [{x: 1}] - -- note: objectget/path_with_three_elements - query: data.test.p = x - modules: - - | - package test - - p = x { - x := object.get({ "a": { "b": { "c": 1 } } }, ["a", "b", "c"], 2) - } - want_result: [{x: 1}] - -- note: objectget/path_with_single_element_no_result - query: data.test.p = x - modules: - - | - package test - - p = x { - x := object.get({ "a": 1 }, ["b"], 2) - } - want_result: [{x: 2}] - -- note: objectget/path_with_two_elements_no_result - query: data.test.p = x - modules: - - | - package test - - p = x { - x := object.get({ "a": { "b": 1 } }, ["b", "a"], 2) - } - want_result: [{x: 2}] - -- note: objectget/path_with_three_elements_no_result - query: data.test.p = x - modules: - - | - package test - - p = x { - x := object.get({ "a": { "b": { "c": 1 } } }, ["a", "b", "a"], 2) - } - want_result: [{x: 2}] - -- note: objectget/path_with_non_string_keys - query: data.test.p = x - modules: - - | - package test - - p = x { - x := object.get({ 1: { "b": { [1,2,3]: 1 } } }, [1, "b", [1,2,3]], 2) - } - want_result: [{x: 1}] - -- note: objectget/get_intermediate_non_object - query: data.test.p = x - modules: - - | - package test - - p = x { - x := object.get({ "a": { "b": [1,2,3] } }, ["a", "b", "a"], 2) - } - want_result: [{x: 2}] - -- note: objectget/get_intermediate_array - query: data.test.p = x - modules: - - | - package test - - p = x { - x := object.get({ "a": { "b": [{"c": 1}] } }, ["a", "b", 0, "c"], 2) - } - want_result: [{x: 1}] - -- note: objectget/get_for_non_object - query: data.test.p = x - input_term: '{"obj":"object"}' - modules: - - | - package test - - p = x { - x := object.get(input.obj, ["a"], 2) - } - want_error: 'object.get: operand 1 must be object but got string' - want_error_code: eval_type_error - strict_error: true + - note: objectget/empty_path_returns_object + query: data.test.p = x + modules: + - | + package test + + p = x { + x := object.get({"a": 1}, [], 2) + } + want_result: [{ x: { a: 1 } }] + + - note: objectget/path_with_single_element + query: data.test.p = x + modules: + - | + package test + + p = x { + x := object.get({ "a": 1 }, ["a"], 2) + } + want_result: [{ x: 1 }] + + - note: objectget/path_with_two_elements + query: data.test.p = x + modules: + - | + package test + + p = x { + x := object.get({ "a": { "b": 1 } }, ["a", "b"], 2) + } + want_result: [{ x: 1 }] + + - note: objectget/path_with_three_elements + query: data.test.p = x + modules: + - | + package test + + p = x { + x := object.get({ "a": { "b": { "c": 1 } } }, ["a", "b", "c"], 2) + } + want_result: [{ x: 1 }] + + - note: objectget/path_with_single_element_no_result + query: data.test.p = x + modules: + - | + package test + + p = x { + x := object.get({ "a": 1 }, ["b"], 2) + } + want_result: [{ x: 2 }] + + - note: objectget/path_with_two_elements_no_result + query: data.test.p = x + modules: + - | + package test + + p = x { + x := object.get({ "a": { "b": 1 } }, ["b", "a"], 2) + } + want_result: [{ x: 2 }] + + - note: objectget/path_with_three_elements_no_result + query: data.test.p = x + modules: + - | + package test + + p = x { + x := object.get({ "a": { "b": { "c": 1 } } }, ["a", "b", "a"], 2) + } + want_result: [{ x: 2 }] + + - note: objectget/path_with_non_string_keys + query: data.test.p = x + modules: + - | + package test + + p = x { + x := object.get({ 1: { "b": { [1,2,3]: 1 } } }, [1, "b", [1,2,3]], 2) + } + want_result: [{ x: 1 }] + + - note: objectget/get_intermediate_non_object + query: data.test.p = x + modules: + - | + package test + + p = x { + x := object.get({ "a": { "b": [1,2,3] } }, ["a", "b", "a"], 2) + } + want_result: [{ x: 2 }] + + - note: objectget/get_intermediate_array + query: data.test.p = x + modules: + - | + package test + + p = x { + x := object.get({ "a": { "b": [{"c": 1}] } }, ["a", "b", 0, "c"], 2) + } + want_result: [{ x: 1 }] + + - note: objectget/get_for_non_object + query: data.test.p = x + input_term: '{"obj":"object"}' + modules: + - | + package test + + p = x { + x := object.get(input.obj, ["a"], 2) + } + want_error: "object.get: operand 1 must be object but got string" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectkeys/test-objectkeys.yaml b/test/cases/testdata/objectkeys/test-objectkeys.yaml index d75374e133..7e3690fb74 100644 --- a/test/cases/testdata/objectkeys/test-objectkeys.yaml +++ b/test/cases/testdata/objectkeys/test-objectkeys.yaml @@ -1,3 +1,4 @@ +--- cases: - note: objectkeys/string_keys_found query: data.test.p = x @@ -64,6 +65,6 @@ cases: - | package test p := object.keys(input.obj) - want_error: 'object.keys: operand 1 must be object but got string' + want_error: "object.keys: operand 1 must be object but got string" want_error_code: eval_type_error strict_error: true diff --git a/test/cases/testdata/objectremove/test-objectremove-0279.yaml b/test/cases/testdata/objectremove/test-objectremove-0279.yaml index 94896cdcfd..fa48ad1ab0 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0279.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0279.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.remove({"a": 1, "b": {"c": 3}}, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectremove/base - query: data.generated.p = x - want_result: - - x: - b: - c: 3 + p = __local0__ { + object.remove({"a": 1, "b": {"c": 3}}, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectremove/base + query: data.generated.p = x + want_result: + - x: + b: + c: 3 diff --git a/test/cases/testdata/objectremove/test-objectremove-0280.yaml b/test/cases/testdata/objectremove/test-objectremove-0280.yaml index fe732f7a60..63af32e60e 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0280.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0280.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.remove({"a": 1, "b": {"c": 3}, "d": 4}, {"b", "d"}, __local1__) - __local0__ = __local1__ - } - note: objectremove/multiple keys set - query: data.generated.p = x - want_result: - - x: - a: 1 + p = __local0__ { + object.remove({"a": 1, "b": {"c": 3}, "d": 4}, {"b", "d"}, __local1__) + __local0__ = __local1__ + } + note: objectremove/multiple keys set + query: data.generated.p = x + want_result: + - x: + a: 1 diff --git a/test/cases/testdata/objectremove/test-objectremove-0281.yaml b/test/cases/testdata/objectremove/test-objectremove-0281.yaml index eefa3dc913..816eee487a 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0281.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0281.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.remove({"a": 1, "b": {"c": 3}, "d": 4}, ["d", "b"], __local1__) - __local0__ = __local1__ - } - note: objectremove/multiple keys array - query: data.generated.p = x - want_result: - - x: - a: 1 + p = __local0__ { + object.remove({"a": 1, "b": {"c": 3}, "d": 4}, ["d", "b"], __local1__) + __local0__ = __local1__ + } + note: objectremove/multiple keys array + query: data.generated.p = x + want_result: + - x: + a: 1 diff --git a/test/cases/testdata/objectremove/test-objectremove-0282.yaml b/test/cases/testdata/objectremove/test-objectremove-0282.yaml index 0ceac874a8..2ebae4d05a 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0282.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0282.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.remove({"a": 1, "b": {"c": 3}, "d": 4}, {"b": 1, "d": ""}, __local1__) - __local0__ = __local1__ - } - note: objectremove/multiple keys object - query: data.generated.p = x - want_result: - - x: - a: 1 + p = __local0__ { + object.remove({"a": 1, "b": {"c": 3}, "d": 4}, {"b": 1, "d": ""}, __local1__) + __local0__ = __local1__ + } + note: objectremove/multiple keys object + query: data.generated.p = x + want_result: + - x: + a: 1 diff --git a/test/cases/testdata/objectremove/test-objectremove-0283.yaml b/test/cases/testdata/objectremove/test-objectremove-0283.yaml index 7a7ca35ef9..d0d23a5fb5 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0283.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0283.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.remove({"a": {"b": {"c": 2}}, "x": 123}, {"a": {"b": {"foo": "bar"}}}, __local1__) - __local0__ = __local1__ - } - note: objectremove/multiple keys object nested - query: data.generated.p = x - want_result: - - x: - x: 123 + p = __local0__ { + object.remove({"a": {"b": {"c": 2}}, "x": 123}, {"a": {"b": {"foo": "bar"}}}, __local1__) + __local0__ = __local1__ + } + note: objectremove/multiple keys object nested + query: data.generated.p = x + want_result: + - x: + x: 123 diff --git a/test/cases/testdata/objectremove/test-objectremove-0284.yaml b/test/cases/testdata/objectremove/test-objectremove-0284.yaml index 97981b2b99..6ea53b6bb3 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0284.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0284.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.remove({}, {"a", "b"}, __local1__) - __local0__ = __local1__ - } - note: objectremove/empty object - query: data.generated.p = x - want_result: - - x: {} + p = __local0__ { + object.remove({}, {"a", "b"}, __local1__) + __local0__ = __local1__ + } + note: objectremove/empty object + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/objectremove/test-objectremove-0285.yaml b/test/cases/testdata/objectremove/test-objectremove-0285.yaml index b47a078157..169074b5fd 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0285.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0285.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.remove({"a": 1, "b": {"c": 3}}, set(), __local1__) - __local0__ = __local1__ - } - note: objectremove/empty keys set - query: data.generated.p = x - want_result: - - x: - a: 1 - b: - c: 3 + p = __local0__ { + object.remove({"a": 1, "b": {"c": 3}}, set(), __local1__) + __local0__ = __local1__ + } + note: objectremove/empty keys set + query: data.generated.p = x + want_result: + - x: + a: 1 + b: + c: 3 diff --git a/test/cases/testdata/objectremove/test-objectremove-0286.yaml b/test/cases/testdata/objectremove/test-objectremove-0286.yaml index 8410846402..414daaec8b 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0286.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0286.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.remove({"a": 1, "b": {"c": 3}}, [], __local1__) - __local0__ = __local1__ - } - note: objectremove/empty keys array - query: data.generated.p = x - want_result: - - x: - a: 1 - b: - c: 3 + p = __local0__ { + object.remove({"a": 1, "b": {"c": 3}}, [], __local1__) + __local0__ = __local1__ + } + note: objectremove/empty keys array + query: data.generated.p = x + want_result: + - x: + a: 1 + b: + c: 3 diff --git a/test/cases/testdata/objectremove/test-objectremove-0287.yaml b/test/cases/testdata/objectremove/test-objectremove-0287.yaml index 84e039d3f6..dc11314ebe 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0287.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0287.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.remove({"a": 1, "b": {"c": 3}}, {}, __local1__) - __local0__ = __local1__ - } - note: objectremove/empty keys obj - query: data.generated.p = x - want_result: - - x: - a: 1 - b: - c: 3 + p = __local0__ { + object.remove({"a": 1, "b": {"c": 3}}, {}, __local1__) + __local0__ = __local1__ + } + note: objectremove/empty keys obj + query: data.generated.p = x + want_result: + - x: + a: 1 + b: + c: 3 diff --git a/test/cases/testdata/objectremove/test-objectremove-0288.yaml b/test/cases/testdata/objectremove/test-objectremove-0288.yaml index f4b99364a7..e7112889a2 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0288.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0288.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.remove({"a": 1, "b": {"c": 3}}, {"z"}, __local1__) - __local0__ = __local1__ - } - note: objectremove/key doesnt exist - query: data.generated.p = x - want_result: - - x: - a: 1 - b: - c: 3 + p = __local0__ { + object.remove({"a": 1, "b": {"c": 3}}, {"z"}, __local1__) + __local0__ = __local1__ + } + note: objectremove/key doesnt exist + query: data.generated.p = x + want_result: + - x: + a: 1 + b: + c: 3 diff --git a/test/cases/testdata/objectremove/test-objectremove-0289.yaml b/test/cases/testdata/objectremove/test-objectremove-0289.yaml index 33a55d6f9f..0a5a867075 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0289.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0289.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": ["a"]}' - modules: - - | - package generated + - data: {} + input_term: '{"x": ["a"]}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.remove(__local2__, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectremove/error invalid object param type array input - query: data.generated.p = x - want_error: 'object.remove: operand 1 must be object but got array' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.remove(__local2__, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectremove/error invalid object param type array input + query: data.generated.p = x + want_error: "object.remove: operand 1 must be object but got array" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectremove/test-objectremove-0290.yaml b/test/cases/testdata/objectremove/test-objectremove-0290.yaml index 8b5b924583..0889c2d604 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0290.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0290.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": false}' - modules: - - | - package generated + - data: {} + input_term: '{"x": false}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.remove(__local2__, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectremove/error invalid object param type bool input - query: data.generated.p = x - want_error: 'object.remove: operand 1 must be object but got boolean' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.remove(__local2__, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectremove/error invalid object param type bool input + query: data.generated.p = x + want_error: "object.remove: operand 1 must be object but got boolean" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectremove/test-objectremove-0291.yaml b/test/cases/testdata/objectremove/test-objectremove-0291.yaml index 7afd116c5e..10c15329cb 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0291.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0291.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": 123}' - modules: - - | - package generated + - data: {} + input_term: '{"x": 123}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.remove(__local2__, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectremove/error invalid object param type number input - query: data.generated.p = x - want_error: 'object.remove: operand 1 must be object but got number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.remove(__local2__, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectremove/error invalid object param type number input + query: data.generated.p = x + want_error: "object.remove: operand 1 must be object but got number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectremove/test-objectremove-0292.yaml b/test/cases/testdata/objectremove/test-objectremove-0292.yaml index f2b76d8c46..13ce4aa3be 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0292.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0292.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": "foo"}' - modules: - - | - package generated + - data: {} + input_term: '{"x": "foo"}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.remove(__local2__, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectremove/error invalid object param type string input - query: data.generated.p = x - want_error: 'object.remove: operand 1 must be object but got string' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.remove(__local2__, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectremove/error invalid object param type string input + query: data.generated.p = x + want_error: "object.remove: operand 1 must be object but got string" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectremove/test-objectremove-0293.yaml b/test/cases/testdata/objectremove/test-objectremove-0293.yaml index 4441b0ec63..425176b2c2 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0293.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0293.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": null}' - modules: - - | - package generated + - data: {} + input_term: '{"x": null}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.remove(__local2__, {"a"}, __local1__) - __local0__ = __local1__ - } - note: objectremove/error invalid object param type nil input - query: data.generated.p = x - want_error: 'object.remove: operand 1 must be object but got null' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.remove(__local2__, {"a"}, __local1__) + __local0__ = __local1__ + } + note: objectremove/error invalid object param type nil input + query: data.generated.p = x + want_error: "object.remove: operand 1 must be object but got null" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectremove/test-objectremove-0294.yaml b/test/cases/testdata/objectremove/test-objectremove-0294.yaml index 946baac88b..7575b36160 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0294.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0294.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": "foo"}' - modules: - - | - package generated + - data: {} + input_term: '{"x": "foo"}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.remove({"a": 1}, __local2__, __local1__) - __local0__ = __local1__ - } - note: objectremove/error invalid key param type string input - query: data.generated.p = x - want_error: 'object.remove: operand 2 must be one of {object, set, array} but got string' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.remove({"a": 1}, __local2__, __local1__) + __local0__ = __local1__ + } + note: objectremove/error invalid key param type string input + query: data.generated.p = x + want_error: "object.remove: operand 2 must be one of {object, set, array} but got string" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectremove/test-objectremove-0295.yaml b/test/cases/testdata/objectremove/test-objectremove-0295.yaml index 2b1dce7e1b..8c993f4fc7 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0295.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0295.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": true}' - modules: - - | - package generated + - data: {} + input_term: '{"x": true}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.remove({"a": 1}, __local2__, __local1__) - __local0__ = __local1__ - } - note: objectremove/error invalid key param type boolean input - query: data.generated.p = x - want_error: 'object.remove: operand 2 must be one of {object, set, array} but got boolean' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.remove({"a": 1}, __local2__, __local1__) + __local0__ = __local1__ + } + note: objectremove/error invalid key param type boolean input + query: data.generated.p = x + want_error: "object.remove: operand 2 must be one of {object, set, array} but got boolean" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectremove/test-objectremove-0296.yaml b/test/cases/testdata/objectremove/test-objectremove-0296.yaml index cf7811588e..b7980c1f2f 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0296.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0296.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": 22}' - modules: - - | - package generated + - data: {} + input_term: '{"x": 22}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.remove({"a": 1}, __local2__, __local1__) - __local0__ = __local1__ - } - note: objectremove/error invalid key param type number input - query: data.generated.p = x - want_error: 'object.remove: operand 2 must be one of {object, set, array} but got number' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.remove({"a": 1}, __local2__, __local1__) + __local0__ = __local1__ + } + note: objectremove/error invalid key param type number input + query: data.generated.p = x + want_error: "object.remove: operand 2 must be one of {object, set, array} but got number" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectremove/test-objectremove-0297.yaml b/test/cases/testdata/objectremove/test-objectremove-0297.yaml index b23d47856c..2ce18711a1 100644 --- a/test/cases/testdata/objectremove/test-objectremove-0297.yaml +++ b/test/cases/testdata/objectremove/test-objectremove-0297.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"x": null}' - modules: - - | - package generated + - data: {} + input_term: '{"x": null}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.x - object.remove({"a": 1}, __local2__, __local1__) - __local0__ = __local1__ - } - note: objectremove/error invalid key param type nil input - query: data.generated.p = x - want_error: 'object.remove: operand 2 must be one of {object, set, array} but got null' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.x + object.remove({"a": 1}, __local2__, __local1__) + __local0__ = __local1__ + } + note: objectremove/error invalid key param type nil input + query: data.generated.p = x + want_error: "object.remove: operand 2 must be one of {object, set, array} but got null" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectremoveidempotent/test-objectremoveidempotent-0298.yaml b/test/cases/testdata/objectremoveidempotent/test-objectremoveidempotent-0298.yaml index 3acf16154d..465fbffeb6 100644 --- a/test/cases/testdata/objectremoveidempotent/test-objectremoveidempotent-0298.yaml +++ b/test/cases/testdata/objectremoveidempotent/test-objectremoveidempotent-0298.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - __local0__ = {"a": 1, "b": 2, "c": 3} - object.remove(__local0__, {"a"}, __local1__) - __local1__ = {"b": 2, "c": 3} - object.remove(__local0__, {"b"}, __local2__) - __local2__ = {"a": 1, "c": 3} - object.remove(__local0__, {"c"}, __local3__) - __local3__ = {"a": 1, "b": 2} - __local0__ = {"a": 1, "b": 2, "c": 3} - } - note: objectremoveidempotent/TestBuiltinObjectRemoveIdempotent - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = {"a": 1, "b": 2, "c": 3} + object.remove(__local0__, {"a"}, __local1__) + __local1__ = {"b": 2, "c": 3} + object.remove(__local0__, {"b"}, __local2__) + __local2__ = {"a": 1, "c": 3} + object.remove(__local0__, {"c"}, __local3__) + __local3__ = {"a": 1, "b": 2} + __local0__ = {"a": 1, "b": 2, "c": 3} + } + note: objectremoveidempotent/TestBuiltinObjectRemoveIdempotent + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/objectremovenonstringkey/test-objectremovenonstringkey-0299.yaml b/test/cases/testdata/objectremovenonstringkey/test-objectremovenonstringkey-0299.yaml index c22ac84cc9..d4b5bd4d62 100644 --- a/test/cases/testdata/objectremovenonstringkey/test-objectremovenonstringkey-0299.yaml +++ b/test/cases/testdata/objectremovenonstringkey/test-objectremovenonstringkey-0299.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - object.remove({"a": 1, [[7]]: 2}, {[[7]]}, __local1__) - __local0__ = __local1__ - __local0__ = {"a": 1} - } - note: objectremovenonstringkey/non string root - query: data.generated.p = x - want_result: - - x: true + p { + object.remove({"a": 1, [[7]]: 2}, {[[7]]}, __local1__) + __local0__ = __local1__ + __local0__ = {"a": 1} + } + note: objectremovenonstringkey/non string root + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/objectunion/test-objectunion-0268.yaml b/test/cases/testdata/objectunion/test-objectunion-0268.yaml index 7ae33b23ef..353c73a28c 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0268.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0268.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.union({}, {}, __local1__) - __local0__ = __local1__ - } - note: objectunion/both empty - query: data.generated.p = x - want_result: - - x: {} + p = __local0__ { + object.union({}, {}, __local1__) + __local0__ = __local1__ + } + note: objectunion/both empty + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/objectunion/test-objectunion-0269.yaml b/test/cases/testdata/objectunion/test-objectunion-0269.yaml index faa9e49055..2b17e71440 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0269.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0269.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.union({}, {"a": 1}, __local1__) - __local0__ = __local1__ - } - note: objectunion/left empty - query: data.generated.p = x - want_result: - - x: - a: 1 + p = __local0__ { + object.union({}, {"a": 1}, __local1__) + __local0__ = __local1__ + } + note: objectunion/left empty + query: data.generated.p = x + want_result: + - x: + a: 1 diff --git a/test/cases/testdata/objectunion/test-objectunion-0270.yaml b/test/cases/testdata/objectunion/test-objectunion-0270.yaml index 7ba38963e5..8a6e211a0d 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0270.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0270.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.union({"a": 1}, {}, __local1__) - __local0__ = __local1__ - } - note: objectunion/right empty - query: data.generated.p = x - want_result: - - x: - a: 1 + p = __local0__ { + object.union({"a": 1}, {}, __local1__) + __local0__ = __local1__ + } + note: objectunion/right empty + query: data.generated.p = x + want_result: + - x: + a: 1 diff --git a/test/cases/testdata/objectunion/test-objectunion-0271.yaml b/test/cases/testdata/objectunion/test-objectunion-0271.yaml index 9470112199..7aeccb7ca3 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0271.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0271.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.union({"a": 1}, {"b": 2}, __local1__) - __local0__ = __local1__ - } - note: objectunion/base - query: data.generated.p = x - want_result: - - x: - a: 1 - b: 2 + p = __local0__ { + object.union({"a": 1}, {"b": 2}, __local1__) + __local0__ = __local1__ + } + note: objectunion/base + query: data.generated.p = x + want_result: + - x: + a: 1 + b: 2 diff --git a/test/cases/testdata/objectunion/test-objectunion-0272.yaml b/test/cases/testdata/objectunion/test-objectunion-0272.yaml index 57b2057d29..d1f2ef3368 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0272.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0272.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.union({"a": {"b": {"c": 1}}}, {"b": 2}, __local1__) - __local0__ = __local1__ - } - note: objectunion/nested - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 1 - b: 2 + p = __local0__ { + object.union({"a": {"b": {"c": 1}}}, {"b": 2}, __local1__) + __local0__ = __local1__ + } + note: objectunion/nested + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 1 + b: 2 diff --git a/test/cases/testdata/objectunion/test-objectunion-0273.yaml b/test/cases/testdata/objectunion/test-objectunion-0273.yaml index 7e5fa363f2..879386f3c9 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0273.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0273.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.union({"b": 2}, {"a": {"b": {"c": 1}}}, __local1__) - __local0__ = __local1__ - } - note: objectunion/nested reverse - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 1 - b: 2 + p = __local0__ { + object.union({"b": 2}, {"a": {"b": {"c": 1}}}, __local1__) + __local0__ = __local1__ + } + note: objectunion/nested reverse + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 1 + b: 2 diff --git a/test/cases/testdata/objectunion/test-objectunion-0274.yaml b/test/cases/testdata/objectunion/test-objectunion-0274.yaml index 3c3ee0fb91..edff4d7eae 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0274.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0274.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.union({"a": 1}, {"a": 2}, __local1__) - __local0__ = __local1__ - } - note: objectunion/conflict simple - query: data.generated.p = x - want_result: - - x: - a: 2 + p = __local0__ { + object.union({"a": 1}, {"a": 2}, __local1__) + __local0__ = __local1__ + } + note: objectunion/conflict simple + query: data.generated.p = x + want_result: + - x: + a: 2 diff --git a/test/cases/testdata/objectunion/test-objectunion-0275.yaml b/test/cases/testdata/objectunion/test-objectunion-0275.yaml index 4039e27d6f..b3f310f262 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0275.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0275.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.union({"a": 1}, {"a": {"b": {"c": 1}}, "d": 7}, __local1__) - __local0__ = __local1__ - } - note: objectunion/conflict nested and extra field - query: data.generated.p = x - want_result: - - x: - a: - b: - c: 1 - d: 7 + p = __local0__ { + object.union({"a": 1}, {"a": {"b": {"c": 1}}, "d": 7}, __local1__) + __local0__ = __local1__ + } + note: objectunion/conflict nested and extra field + query: data.generated.p = x + want_result: + - x: + a: + b: + c: 1 + d: 7 diff --git a/test/cases/testdata/objectunion/test-objectunion-0276.yaml b/test/cases/testdata/objectunion/test-objectunion-0276.yaml index c2cbe3d966..87342d38b1 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0276.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0276.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - object.union({"a": {"b": {"c": 1}}, "e": 1}, {"a": {"b": "foo", "b1": "bar"}, "d": 7, "e": 17}, __local1__) - __local0__ = __local1__ - } - note: objectunion/conflict multiple - query: data.generated.p = x - want_result: - - x: - a: - b: foo - b1: bar - d: 7 - e: 17 + p = __local0__ { + object.union({"a": {"b": {"c": 1}}, "e": 1}, {"a": {"b": "foo", "b1": "bar"}, "d": 7, "e": 17}, __local1__) + __local0__ = __local1__ + } + note: objectunion/conflict multiple + query: data.generated.p = x + want_result: + - x: + a: + b: foo + b1: bar + d: 7 + e: 17 diff --git a/test/cases/testdata/objectunion/test-objectunion-0277.yaml b/test/cases/testdata/objectunion/test-objectunion-0277.yaml index b54d9587f2..4913eee753 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0277.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0277.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"a": [1, 2, 3]}' - modules: - - | - package generated + - data: {} + input_term: '{"a": [1, 2, 3]}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.a - object.union(__local2__, {"b": 2}, __local1__) - __local0__ = __local1__ - } - note: objectunion/error wrong lhs type input - query: data.generated.p = x - want_error: 'object.union: operand 1 must be object but got array' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.a + object.union(__local2__, {"b": 2}, __local1__) + __local0__ = __local1__ + } + note: objectunion/error wrong lhs type input + query: data.generated.p = x + want_error: "object.union: operand 1 must be object but got array" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectunion/test-objectunion-0278.yaml b/test/cases/testdata/objectunion/test-objectunion-0278.yaml index 1ab94fad19..27c306f770 100644 --- a/test/cases/testdata/objectunion/test-objectunion-0278.yaml +++ b/test/cases/testdata/objectunion/test-objectunion-0278.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"b": [1, 2, 3]}' - modules: - - | - package generated + - data: {} + input_term: '{"b": [1, 2, 3]}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.b - object.union({"a": 1}, __local2__, __local1__) - __local0__ = __local1__ - } - note: objectunion/error wrong rhs type input - query: data.generated.p = x - want_error: 'object.union: operand 2 must be object but got array' - want_error_code: eval_type_error - strict_error: true + p = __local0__ { + __local2__ = input.b + object.union({"a": 1}, __local2__, __local1__) + __local0__ = __local1__ + } + note: objectunion/error wrong rhs type input + query: data.generated.p = x + want_error: "object.union: operand 2 must be object but got array" + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/objectunionn/test-objectunionn-0001.yaml b/test/cases/testdata/objectunionn/test-objectunionn-0001.yaml index 447d9f3d56..7c1992eacf 100644 --- a/test/cases/testdata/objectunionn/test-objectunionn-0001.yaml +++ b/test/cases/testdata/objectunionn/test-objectunionn-0001.yaml @@ -1,79 +1,80 @@ +--- cases: -- note: objectunionn/empty array - modules: - - | - package test - - p := object.union_n([{}]) - - query: data.test.p = x - want_result: - - x: {} - -- note: objectunionn/single item array - modules: - - | - package test - - p := object.union_n([{"foo": "bar"}]) - - query: data.test.p = x - want_result: - - x: {"foo": "bar"} - -- note: objectunionn/merge objects - modules: - - | - package test - - x := object.union_n([{"foo": "bar"}, {"x": "y"}]) - - query: data.test.x = x - want_result: - - x: {"foo": "bar", "x": "y"} - -- note: objectunionn/merge objects conflict - modules: - - | - package test - - x := object.union_n([{"foo": "bar"}, {"foo": "baz"}]) - - query: data.test.x = x - want_result: - - x: {"foo": "baz"} - -- note: objectunionn/merge objects extended - modules: - - | - package test - - x := object.union_n([{ - "a": 1, - "b": 2, - "c": 3, - }, { - "foo": "baz", - "a": "a", - "b": 2, - "d": 4, - }, { - "a": "final A!", - "e": 5.0, - }]) - - query: data.test.x = x - want_result: - - x: {"foo": "baz", "a": "final A!", "b": 2, "c": 3, "d": 4, "e": 5.0} - -- note: "# 5073 regression test" - input_term: '[{"foo": 1}, {"bar": 2}, "baz"]' - modules: - - | - package test - - x := object.union_n(input) - - query: data.test.x = x - want_error_code: eval_type_error - strict_error: true + - note: objectunionn/empty array + modules: + - | + package test + + p := object.union_n([{}]) + + query: data.test.p = x + want_result: + - x: {} + + - note: objectunionn/single item array + modules: + - | + package test + + p := object.union_n([{"foo": "bar"}]) + + query: data.test.p = x + want_result: + - x: { "foo": "bar" } + + - note: objectunionn/merge objects + modules: + - | + package test + + x := object.union_n([{"foo": "bar"}, {"x": "y"}]) + + query: data.test.x = x + want_result: + - x: { "foo": "bar", "x": "y" } + + - note: objectunionn/merge objects conflict + modules: + - | + package test + + x := object.union_n([{"foo": "bar"}, {"foo": "baz"}]) + + query: data.test.x = x + want_result: + - x: { "foo": "baz" } + + - note: objectunionn/merge objects extended + modules: + - | + package test + + x := object.union_n([{ + "a": 1, + "b": 2, + "c": 3, + }, { + "foo": "baz", + "a": "a", + "b": 2, + "d": 4, + }, { + "a": "final A!", + "e": 5.0, + }]) + + query: data.test.x = x + want_result: + - x: { "foo": "baz", "a": "final A!", "b": 2, "c": 3, "d": 4, "e": 5.0 } + + - note: "# 5073 regression test" + input_term: '[{"foo": 1}, {"bar": 2}, "baz"]' + modules: + - | + package test + + x := object.union_n(input) + + query: data.test.x = x + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0984.yaml b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0984.yaml index d80072f0c6..36410e374a 100644 --- a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0984.yaml +++ b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0984.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - foo["bar"] = 0 + foo["bar"] = 0 - foo["baz"] = 1 + foo["baz"] = 1 - foo["*"] = [1, 2, 3] { - input.foo = 7 - } + foo["*"] = [1, 2, 3] { + input.foo = 7 + } - bar["x"] + bar["x"] - bar["y"] + bar["y"] - bar["*"] { - input.foo = 7 - } - note: partialdocconstants/obj-1 - query: data.ex.foo.bar = x - want_result: - - x: 0 + bar["*"] { + input.foo = 7 + } + note: partialdocconstants/obj-1 + query: data.ex.foo.bar = x + want_result: + - x: 0 diff --git a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0985.yaml b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0985.yaml index 0811c79444..8437cfc05e 100644 --- a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0985.yaml +++ b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0985.yaml @@ -1,33 +1,34 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - foo["bar"] = 0 + foo["bar"] = 0 - foo["baz"] = 1 + foo["baz"] = 1 - foo["*"] = [1, 2, 3] { - input.foo = 7 - } + foo["*"] = [1, 2, 3] { + input.foo = 7 + } - bar["x"] + bar["x"] - bar["y"] + bar["y"] - bar["*"] { - input.foo = 7 - } - - | - package topdown_test_partial + bar["*"] { + input.foo = 7 + } + - | + package topdown_test_partial - __result__ = _result { - _result = 0 - } - note: partialdocconstants/obj - query: data.ex.foo = x - want_result: - - x: - bar: 0 - baz: 1 + __result__ = _result { + _result = 0 + } + note: partialdocconstants/obj + query: data.ex.foo = x + want_result: + - x: + bar: 0 + baz: 1 diff --git a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0986.yaml b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0986.yaml index cc1c963d26..56786212cd 100644 --- a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0986.yaml +++ b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0986.yaml @@ -1,48 +1,49 @@ +--- cases: -- data: {} - input_term: '{"foo": 7}' - modules: - - | - package partial.ex - - foo["bar"] = 0 - - foo["baz"] = 1 - - foo["*"] = [1, 2, 3] { - input.foo = 7 - } - - | - package ex - - foo["bar"] = 0 - - foo["baz"] = 1 - - foo["*"] = [1, 2, 3] { - input.foo = 7 - } - - bar["x"] - - bar["y"] - - bar["*"] { - input.foo = 7 - } - - | - package topdown_test_partial - - __result__ = _result { - data.partial.ex.foo = _result - } - note: partialdocconstants/obj-all - query: data.ex.foo = x - want_result: - - x: - '*': - - 1 - - 2 - - 3 - bar: 0 - baz: 1 + - data: {} + input_term: '{"foo": 7}' + modules: + - | + package partial.ex + + foo["bar"] = 0 + + foo["baz"] = 1 + + foo["*"] = [1, 2, 3] { + input.foo = 7 + } + - | + package ex + + foo["bar"] = 0 + + foo["baz"] = 1 + + foo["*"] = [1, 2, 3] { + input.foo = 7 + } + + bar["x"] + + bar["y"] + + bar["*"] { + input.foo = 7 + } + - | + package topdown_test_partial + + __result__ = _result { + data.partial.ex.foo = _result + } + note: partialdocconstants/obj-all + query: data.ex.foo = x + want_result: + - x: + "*": + - 1 + - 2 + - 3 + bar: 0 + baz: 1 diff --git a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0987.yaml b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0987.yaml index 6e902cc540..7ff82cd75c 100644 --- a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0987.yaml +++ b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0987.yaml @@ -1,41 +1,42 @@ +--- cases: -- data: {} - modules: - - | - package topdown_test_partial + - data: {} + modules: + - | + package topdown_test_partial - __result__ = _result { - data.partial.ex.foo = _result - } - - | - package partial.ex + __result__ = _result { + data.partial.ex.foo = _result + } + - | + package partial.ex - foo["bar"] = 0 + foo["bar"] = 0 - foo["baz"] = 1 + foo["baz"] = 1 - foo["*"] = [1, 2, 3] { - input.foo = 7 - } - - | - package ex + foo["*"] = [1, 2, 3] { + input.foo = 7 + } + - | + package ex - foo["bar"] = 0 + foo["bar"] = 0 - foo["baz"] = 1 + foo["baz"] = 1 - foo["*"] = [1, 2, 3] { - input.foo = 7 - } + foo["*"] = [1, 2, 3] { + input.foo = 7 + } - bar["x"] + bar["x"] - bar["y"] + bar["y"] - bar["*"] { - input.foo = 7 - } - note: partialdocconstants/set-1 - query: data.ex.bar.x = x - want_result: - - x: x + bar["*"] { + input.foo = 7 + } + note: partialdocconstants/set-1 + query: data.ex.bar.x = x + want_result: + - x: x diff --git a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0988.yaml b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0988.yaml index 30ed7aca98..61084d0157 100644 --- a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0988.yaml +++ b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0988.yaml @@ -1,44 +1,45 @@ +--- cases: -- data: {} - modules: - - | - package ex + - data: {} + modules: + - | + package ex - foo["bar"] = 0 + foo["bar"] = 0 - foo["baz"] = 1 + foo["baz"] = 1 - foo["*"] = [1, 2, 3] { - input.foo = 7 - } + foo["*"] = [1, 2, 3] { + input.foo = 7 + } - bar["x"] + bar["x"] - bar["y"] + bar["y"] - bar["*"] { - input.foo = 7 - } - - | - package topdown_test_partial + bar["*"] { + input.foo = 7 + } + - | + package topdown_test_partial - __result__ = _result { - _result = "x" - } - - | - package partial.ex + __result__ = _result { + _result = "x" + } + - | + package partial.ex - foo["bar"] = 0 + foo["bar"] = 0 - foo["baz"] = 1 + foo["baz"] = 1 - foo["*"] = [1, 2, 3] { - input.foo = 7 - } - note: partialdocconstants/set - query: data.ex.bar = x - sort_bindings: true - want_result: - - x: - - x - - "y" + foo["*"] = [1, 2, 3] { + input.foo = 7 + } + note: partialdocconstants/set + query: data.ex.bar = x + sort_bindings: true + want_result: + - x: + - x + - "y" diff --git a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0989.yaml b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0989.yaml index 0a7d7a3a10..542fe2829b 100644 --- a/test/cases/testdata/partialdocconstants/test-partialdocconstants-0989.yaml +++ b/test/cases/testdata/partialdocconstants/test-partialdocconstants-0989.yaml @@ -1,46 +1,47 @@ +--- cases: -- data: {} - input_term: '{"foo": 7}' - modules: - - | - package ex - - foo["bar"] = 0 - - foo["baz"] = 1 - - foo["*"] = [1, 2, 3] { - input.foo = 7 - } - - bar["x"] - - bar["y"] - - bar["*"] { - input.foo = 7 - } - - | - package topdown_test_partial - - __result__ = _result { - data.partial.ex.bar = _result - } - - | - package partial.ex - - bar["x"] - - bar["y"] - - bar["*"] { - input.foo = 7 - } - note: partialdocconstants/set-all - query: data.ex.bar = x - sort_bindings: true - want_result: - - x: - - '*' - - x - - "y" + - data: {} + input_term: '{"foo": 7}' + modules: + - | + package ex + + foo["bar"] = 0 + + foo["baz"] = 1 + + foo["*"] = [1, 2, 3] { + input.foo = 7 + } + + bar["x"] + + bar["y"] + + bar["*"] { + input.foo = 7 + } + - | + package topdown_test_partial + + __result__ = _result { + data.partial.ex.bar = _result + } + - | + package partial.ex + + bar["x"] + + bar["y"] + + bar["*"] { + input.foo = 7 + } + note: partialdocconstants/set-all + query: data.ex.bar = x + sort_bindings: true + want_result: + - x: + - "*" + - x + - "y" diff --git a/test/cases/testdata/partialiter/test-partialiter-001.yaml b/test/cases/testdata/partialiter/test-partialiter-001.yaml index 0e31ec5eee..dc6f3b2b21 100644 --- a/test/cases/testdata/partialiter/test-partialiter-001.yaml +++ b/test/cases/testdata/partialiter/test-partialiter-001.yaml @@ -1,39 +1,40 @@ +--- cases: -- modules: - - | - package test + - modules: + - | + package test - p := count([x | q[x]]) + p := count([x | q[x]]) - q[1] - q[1] - q[2] - note: partialiter/sets unique - query: data.test.p = x - want_result: - - x: 2 -- modules: - - | - package test + q[1] + q[1] + q[2] + note: partialiter/sets unique + query: data.test.p = x + want_result: + - x: 2 + - modules: + - | + package test - p := count([x | q[x]]) + p := count([x | q[x]]) - q[1] = 1 - q[1] = 1 - q[2] = 1 - note: partialiter/objects unique - query: data.test.p = x - want_result: - - x: 2 -- modules: - - | - package test + q[1] = 1 + q[1] = 1 + q[2] = 1 + note: partialiter/objects unique + query: data.test.p = x + want_result: + - x: 2 + - modules: + - | + package test - p := count([x | q[x]]) + p := count([x | q[x]]) - q[1] = 1 - q[1] = 2 - q[2] = 1 - note: partialiter/objects conflict - query: data.test.p = x - want_error_code: eval_conflict_error \ No newline at end of file + q[1] = 1 + q[1] = 2 + q[2] = 1 + note: partialiter/objects conflict + query: data.test.p = x + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0519.yaml b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0519.yaml index 051823d64a..c3f54b7ffc 100644 --- a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0519.yaml +++ b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0519.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[k] = v { - data.b[k] = v - } - note: partialobjectdoc/identity - query: data.generated.p = x - want_result: - - x: - v1: hello - v2: goodbye + p[k] = v { + data.b[k] = v + } + note: partialobjectdoc/identity + query: data.generated.p = x + want_result: + - x: + v1: hello + v2: goodbye diff --git a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0520.yaml b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0520.yaml index 9aea1abaac..6aaf69edb4 100644 --- a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0520.yaml +++ b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0520.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - d: - e: - - bar - - baz - modules: - - | - package generated + - data: + d: + e: + - bar + - baz + modules: + - | + package generated - p[k] = v { - data.d[k] = v - } - note: partialobjectdoc/composites - query: data.generated.p = x - want_result: - - x: - e: - - bar - - baz + p[k] = v { + data.d[k] = v + } + note: partialobjectdoc/composites + query: data.generated.p = x + want_result: + - x: + e: + - bar + - baz diff --git a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0521.yaml b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0521.yaml index 67aeed8f77..58e630d690 100644 --- a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0521.yaml +++ b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0521.yaml @@ -1,38 +1,39 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - g: + - data: a: - - 1 - - 0 - - 0 - - 0 - b: - - 0 - - 2 - - 0 - - 0 - c: - - 0 - - 0 - - 0 - - 4 - modules: - - | - package generated + - 1 + - 2 + - 3 + - 4 + g: + a: + - 1 + - 0 + - 0 + - 0 + b: + - 0 + - 2 + - 0 + - 0 + c: + - 0 + - 0 + - 0 + - 4 + modules: + - | + package generated - p[k] = v { - data.a[i] = v - data.g[k][i] = v - } - note: partialobjectdoc/body/join var - query: data.generated.p = x - want_result: - - x: - a: 1 - b: 2 - c: 4 + p[k] = v { + data.a[i] = v + data.g[k][i] = v + } + note: partialobjectdoc/body/join var + query: data.generated.p = x + want_result: + - x: + a: 1 + b: 2 + c: 4 diff --git a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0522.yaml b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0522.yaml index 14762ac163..47693beedd 100644 --- a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0522.yaml +++ b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0522.yaml @@ -1,40 +1,41 @@ +--- cases: -- data: - g: - a: - - 1 - - 0 - - 0 - - 0 - b: - - 0 - - 2 - - 0 - - 0 - c: - - 0 - - 0 - - 0 - - 4 - modules: - - | - package generated + - data: + g: + a: + - 1 + - 0 + - 0 + - 0 + b: + - 0 + - 2 + - 0 + - 0 + c: + - 0 + - 0 + - 0 + - 4 + modules: + - | + package generated - p[k] = [v1, {"v2": v2}] { - data.g[k] = x - x[v1] = v2 - v2 != 0 - } - note: partialobjectdoc/composite value - query: data.generated.p = x - want_result: - - x: - a: - - 0 - - v2: 1 - b: - - 1 - - v2: 2 - c: - - 3 - - v2: 4 + p[k] = [v1, {"v2": v2}] { + data.g[k] = x + x[v1] = v2 + v2 != 0 + } + note: partialobjectdoc/composite value + query: data.generated.p = x + want_result: + - x: + a: + - 0 + - v2: 1 + b: + - 1 + - v2: 2 + c: + - 3 + - v2: 4 diff --git a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0523.yaml b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0523.yaml index 1a5fa97f85..8fc3ca348b 100644 --- a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0523.yaml +++ b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0523.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[k] = 1 { - ks = ["a", "b", "c", "a"] - ks[_] = k - } - note: partialobjectdoc/same key/value pair - query: data.generated.p = x - want_result: - - x: - a: 1 - b: 1 - c: 1 + p[k] = 1 { + ks = ["a", "b", "c", "a"] + ks[_] = k + } + note: partialobjectdoc/same key/value pair + query: data.generated.p = x + want_result: + - x: + a: 1 + b: 1 + c: 1 diff --git a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0524.yaml b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0524.yaml index 92170292cd..89b77cafb8 100644 --- a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0524.yaml +++ b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-0524.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[k] = 1 { - ks = [1, {}, null] - ks[_] = k - } - note: partialobjectdoc/non-string key - query: data.generated.p = x - want_result: - - x: - '1': 1 - 'null': 1 - '{}': 1 + p[k] = 1 { + ks = [1, {}, null] + ks[_] = k + } + note: partialobjectdoc/non-string key + query: data.generated.p = x + want_result: + - x: + "1": 1 + "null": 1 + "{}": 1 diff --git a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-ref.yaml b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-ref.yaml index 0fee305bbf..762fd4a594 100644 --- a/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-ref.yaml +++ b/test/cases/testdata/partialobjectdoc/test-partialobjectdoc-ref.yaml @@ -1,22 +1,22 @@ +--- cases: -- note: partialobjectdoc/ref - modules: - - | - package generated + - note: partialobjectdoc/ref + modules: + - | + package generated - p.q[k] = v { - k := ["foo", "bar"][v] - } - - p.baz := 2 - - q { - x := "bar" - y := "q" - p[y][x] == 1 - } + p.q[k] = v { + k := ["foo", "bar"][v] + } - query: data.generated.q = x - want_result: - - x: - true + p.baz := 2 + + q { + x := "bar" + y := "q" + p[y][x] == 1 + } + + query: data.generated.q = x + want_result: + - x: true diff --git a/test/cases/testdata/partialobjectdoc/test-wasm-cases.yaml b/test/cases/testdata/partialobjectdoc/test-wasm-cases.yaml index d1da298df4..95d8e4f07e 100644 --- a/test/cases/testdata/partialobjectdoc/test-wasm-cases.yaml +++ b/test/cases/testdata/partialobjectdoc/test-wasm-cases.yaml @@ -1,11 +1,11 @@ - +--- # NOTE(sr): These test cases stem from cases we run against the wasm # module but since the ref-heads change made them fail -- because of # changes to the typing of partial object rules (which are now single- # valued rules), they're added to the topdown tests, too. cases: - note: wasm/additive - query: 'data.x.q = x' + query: "data.x.q = x" modules: - | package x @@ -16,10 +16,10 @@ cases: p == {"a": 1, "b": 2} } want_result: - - x: true + - x: true - note: wasm/additive (negative) - query: 'data.x.p = input' - input: {"a": 1, "b": 2} + query: "data.x.p = input" + input: { "a": 1, "b": 2 } modules: - | package x @@ -28,7 +28,7 @@ cases: p["c"] = 3 want_result: [] - note: wasm/input - query: 'data.x.q = x' + query: "data.x.q = x" modules: - | package x @@ -38,11 +38,11 @@ cases: q { p == {"a": 1, "b": 2} } - input: {"x": 1, "y": 2} + input: { "x": 1, "y": 2 } want_result: - - x: true + - x: true - note: wasm/input (negative) - query: 'data.x.q = x' + query: "data.x.q = x" data: z: a: 1 @@ -58,10 +58,10 @@ cases: p == data.z } want_result: - - x: true - input: {"x": 1, "y": 2} + - x: true + input: { "x": 1, "y": 2 } - note: wasm/composites - query: 'data.x.q = x' + query: "data.x.q = x" modules: - | package x @@ -70,9 +70,9 @@ cases: q { p == {"a": [1], "b": [2]} } want_result: - - x : true + - x: true - note: wasm/conflict error - query: 'data.x.q = x' + query: "data.x.q = x" data: z: a: 1 @@ -81,22 +81,22 @@ cases: package x p["x"] = 1 p["x"] = 2 - q { + q { p == data.z } want_error: "test-0.rego:3: eval_conflict_error: complete rules must not produce multiple outputs" want_error_code: eval_conflict_error - note: wasm/object dereference - query: 'data.x.q = x' + query: "data.x.q = x" modules: - | package x p["a"] = {"b": 1} - q { + q { p.a.b = 1 } want_result: - - x: true + - x: true - note: wasm/object dereference (negative) query: data.x.p.a.b = 1 modules: diff --git a/test/cases/testdata/partialsetdoc/test-issue-3369.yaml b/test/cases/testdata/partialsetdoc/test-issue-3369.yaml index 30afa86b6f..a728f1da39 100644 --- a/test/cases/testdata/partialsetdoc/test-issue-3369.yaml +++ b/test/cases/testdata/partialsetdoc/test-issue-3369.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - modules: - - | - package x + - data: + modules: + - | + package x - p[a] { - a := q - } + p[a] { + a := q + } - q[b] { - b := 1 - } - note: partialsetdoc/unexpected 'var requires evaluation' - query: data.x.p[x] = z - want_result: - - x: - - 1 - z: - - 1 + q[b] { + b := 1 + } + note: partialsetdoc/unexpected 'var requires evaluation' + query: data.x.p[x] = z + want_result: + - x: + - 1 + z: + - 1 diff --git a/test/cases/testdata/partialsetdoc/test-issue-3376.yaml b/test/cases/testdata/partialsetdoc/test-issue-3376.yaml index 10abb1c043..23eb6ba071 100644 --- a/test/cases/testdata/partialsetdoc/test-issue-3376.yaml +++ b/test/cases/testdata/partialsetdoc/test-issue-3376.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - modules: - - | - package foo - p { - q[i][j] = v # this fails! - } - q[x] { - x = r - } - r[x] { - x = [1] - } - note: partialsetdoc/iteration - query: data.foo.p = x - want_result: - - x: true + - data: + modules: + - | + package foo + p { + q[i][j] = v # this fails! + } + q[x] { + x = r + } + r[x] { + x = [1] + } + note: partialsetdoc/iteration + query: data.foo.p = x + want_result: + - x: true diff --git a/test/cases/testdata/partialsetdoc/test-issue-3819.yaml b/test/cases/testdata/partialsetdoc/test-issue-3819.yaml index 83050747c5..77872ffa01 100644 --- a/test/cases/testdata/partialsetdoc/test-issue-3819.yaml +++ b/test/cases/testdata/partialsetdoc/test-issue-3819.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - apples: 2 - bananas: 1 - clementines: 3 - modules: - - | - package foo - p[x] { - data.a[x] # iterates data.a - q[_] - } - q[x] { - x = data.a # inserts data.a into a set, sorts the object keys - } - note: 'partialsetdoc: object sort while iter' - query: data.foo.p = x - sort_bindings: true - want_result: - - x: - - apples - - bananas - - clementines + - data: + a: + apples: 2 + bananas: 1 + clementines: 3 + modules: + - | + package foo + p[x] { + data.a[x] # iterates data.a + q[_] + } + q[x] { + x = data.a # inserts data.a into a set, sorts the object keys + } + note: "partialsetdoc: object sort while iter" + query: data.foo.p = x + sort_bindings: true + want_result: + - x: + - apples + - bananas + - clementines diff --git a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0511.yaml b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0511.yaml index 2fa9b71c5d..e6c6a34171 100644 --- a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0511.yaml +++ b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0511.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - data.a[i] = x - } - note: partialsetdoc/array values - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + p[x] { + data.a[i] = x + } + note: partialsetdoc/array values + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0512.yaml b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0512.yaml index 455396511b..8e3ba2fb13 100644 --- a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0512.yaml +++ b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0512.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - data.a[x] = _ - } - note: partialsetdoc/array indices - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 0 - - 1 - - 2 - - 3 + p[x] { + data.a[x] = _ + } + note: partialsetdoc/array indices + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 0 + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0513.yaml b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0513.yaml index 8ef8bc1af3..484a001af5 100644 --- a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0513.yaml +++ b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0513.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] { - data.b[x] = _ - } - note: partialsetdoc/object keys - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - v1 - - v2 + p[x] { + data.b[x] = _ + } + note: partialsetdoc/object keys + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - v1 + - v2 diff --git a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0514.yaml b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0514.yaml index 60bca63492..3dc7d1c10f 100644 --- a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0514.yaml +++ b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0514.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] { - data.b[i] = x - } - note: partialsetdoc/object values - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - goodbye - - hello + p[x] { + data.b[i] = x + } + note: partialsetdoc/object values + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - goodbye + - hello diff --git a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0515.yaml b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0515.yaml index 867af715f4..c3fd9a9d51 100644 --- a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0515.yaml +++ b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0515.yaml @@ -1,31 +1,32 @@ +--- cases: -- data: - f: - - xs: - - 1 - ys: - - 2 - - xs: - - 2 - ys: - - 3 - modules: - - | - package generated + - data: + f: + - xs: + - 1 + ys: + - 2 + - xs: + - 2 + ys: + - 3 + modules: + - | + package generated - p[x] { - data.f[i] = x - } - note: partialsetdoc/nested composites - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - xs: - - 1 - ys: - - 2 - - xs: - - 2 - ys: - - 3 + p[x] { + data.f[i] = x + } + note: partialsetdoc/nested composites + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - xs: + - 1 + ys: + - 2 + - xs: + - 2 + ys: + - 3 diff --git a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0516.yaml b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0516.yaml index aabc06f38e..28845a1950 100644 --- a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0516.yaml +++ b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0516.yaml @@ -1,30 +1,31 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[x] { - data.c[i][j][k] = x - } - note: partialsetdoc/deep ref/heterogeneous - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - null - - false - - true - - 3.14159 - - foo + p[x] { + data.c[i][j][k] = x + } + note: partialsetdoc/deep ref/heterogeneous + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - null + - false + - true + - 3.14159 + - foo diff --git a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0517.yaml b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0517.yaml index 264ef7ce11..0349c6e5ca 100644 --- a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0517.yaml +++ b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0517.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.a[i] - x = [i, __local0__] - } - note: partialsetdoc/composite var value - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 0 - - 1 - - - 1 - - 2 - - - 2 - - 3 - - - 3 - - 4 + p[x] { + __local0__ = data.a[i] + x = [i, __local0__] + } + note: partialsetdoc/composite var value + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 0 + - 1 + - - 1 + - 2 + - - 2 + - 3 + - - 3 + - 4 diff --git a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0518.yaml b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0518.yaml index f770b8c51b..7fad23f216 100644 --- a/test/cases/testdata/partialsetdoc/test-partialsetdoc-0518.yaml +++ b/test/cases/testdata/partialsetdoc/test-partialsetdoc-0518.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[[x, {"y": y}]] { - x = 1 - y = 2 - } - note: partialsetdoc/composite key - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - "y": 2 + p[[x, {"y": y}]] { + x = 1 + y = 2 + } + note: partialsetdoc/composite key + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - "y": 2 diff --git a/test/cases/testdata/planner-ir/test-array-ir-unify.yaml b/test/cases/testdata/planner-ir/test-array-ir-unify.yaml index 5ede0b0693..9c14ab1bda 100644 --- a/test/cases/testdata/planner-ir/test-array-ir-unify.yaml +++ b/test/cases/testdata/planner-ir/test-array-ir-unify.yaml @@ -1,46 +1,47 @@ +--- cases: -- note: ir/unification array and array comprehension - query: 'data.test.p = x' - modules: - - | - package test - p = foo { - [foo] = [x | x := 1] - } - want_result: - - x: 1 -- note: ir/unification array comprehension and array - query: 'data.test.p = x' - modules: - - | - package test - p = foo { - [x | x := 1] = [foo] - } - want_result: - - x: 1 -- note: ir/fixpoint key/value (negative) - query: 'data.test.p = x' - input: - foos: ["foo"] - modules: - - | - package test - p { - some foo - foo == input.foos[foo] - } - want_result: [] -- note: ir/fixpoint key/value - query: 'data.test.p = x' - input: - foos: [2, 1, 0] - modules: - - | - package test - p = foo { - some foo - foo == input.foos[foo] - } - want_result: - - x: 1 + - note: ir/unification array and array comprehension + query: "data.test.p = x" + modules: + - | + package test + p = foo { + [foo] = [x | x := 1] + } + want_result: + - x: 1 + - note: ir/unification array comprehension and array + query: "data.test.p = x" + modules: + - | + package test + p = foo { + [x | x := 1] = [foo] + } + want_result: + - x: 1 + - note: ir/fixpoint key/value (negative) + query: "data.test.p = x" + input: + foos: ["foo"] + modules: + - | + package test + p { + some foo + foo == input.foos[foo] + } + want_result: [] + - note: ir/fixpoint key/value + query: "data.test.p = x" + input: + foos: [2, 1, 0] + modules: + - | + package test + p = foo { + some foo + foo == input.foos[foo] + } + want_result: + - x: 1 diff --git a/test/cases/testdata/planner-ir/test-call-dynamic.yaml b/test/cases/testdata/planner-ir/test-call-dynamic.yaml index 1f57dd22f6..e0b7a67963 100644 --- a/test/cases/testdata/planner-ir/test-call-dynamic.yaml +++ b/test/cases/testdata/planner-ir/test-call-dynamic.yaml @@ -1,93 +1,94 @@ +--- cases: -- note: ir/call_dynamic in comprehension - modules: - - | - package test - p := x { - b := input - x := { y | y := data.a[b][_] } - } - - | - package a - b := {"foo", "bar"} - - | - package a - c := {"x", "y" } - query: data.test.p = x - sort_bindings: true - input: "b" - want_result: - - x: - - bar - - foo -- note: ir/no call-dynamic with mixed partial rules - modules: - - | - package test - import future.keywords.if - p := data.a.b[c] if c := "c" - - | - package a - import future.keywords.if - b[c] := "C" if c := "c" - b["d"] := "D" - query: data.test.p = x - want_result: - - x: C -- note: ir/call-dynamic with mixed partial rules - modules: - - | - package test - import future.keywords.if - p := a[b].c if b := "b" - a.b.c := "C" - a.x.d := "D" - query: data.test.p = x - want_result: - - x: C -- note: ir/no call-dynamic with mixed partial rules, ref heads - modules: - - | - package test - import future.keywords.if - p := a.b[c] if c := "c" - a.b[c] := "C" if c := "c" - a.b.d := "D" - query: data.test.p = x - want_result: - - x: C -- note: ir/call-dynamic with mixed partial rules, ref heads - modules: - - | - package test - import future.keywords.if - p := a[b][c] if { b := "b"; c := "c" } - a.b.c := "C" - a.x.d := "D" - query: data.test.p = x - want_result: - - x: C -- note: ir/call-dynamic with ref heads, issue 5839 - modules: - - | - package test - import future.keywords.if - p := a[b][c].allow if { b := "b"; c := "c" } - a.b.c.allow if true - a.x.d.allow if true - a.y[x] := "E" if x := "x" - query: data.test.p = x - want_result: - - x: true -- note: ir/call-dynamic with ref heads, issue 5839, penultimate - modules: - - | - package test - import future.keywords.if - p := a[b][c] if { b := "b"; c := "c" } - a.b.c if true - a.x.d if true - a.y := "E" - query: data.test.p = x - want_result: - - x: true \ No newline at end of file + - note: ir/call_dynamic in comprehension + modules: + - | + package test + p := x { + b := input + x := { y | y := data.a[b][_] } + } + - | + package a + b := {"foo", "bar"} + - | + package a + c := {"x", "y" } + query: data.test.p = x + sort_bindings: true + input: "b" + want_result: + - x: + - bar + - foo + - note: ir/no call-dynamic with mixed partial rules + modules: + - | + package test + import future.keywords.if + p := data.a.b[c] if c := "c" + - | + package a + import future.keywords.if + b[c] := "C" if c := "c" + b["d"] := "D" + query: data.test.p = x + want_result: + - x: C + - note: ir/call-dynamic with mixed partial rules + modules: + - | + package test + import future.keywords.if + p := a[b].c if b := "b" + a.b.c := "C" + a.x.d := "D" + query: data.test.p = x + want_result: + - x: C + - note: ir/no call-dynamic with mixed partial rules, ref heads + modules: + - | + package test + import future.keywords.if + p := a.b[c] if c := "c" + a.b[c] := "C" if c := "c" + a.b.d := "D" + query: data.test.p = x + want_result: + - x: C + - note: ir/call-dynamic with mixed partial rules, ref heads + modules: + - | + package test + import future.keywords.if + p := a[b][c] if { b := "b"; c := "c" } + a.b.c := "C" + a.x.d := "D" + query: data.test.p = x + want_result: + - x: C + - note: ir/call-dynamic with ref heads, issue 5839 + modules: + - | + package test + import future.keywords.if + p := a[b][c].allow if { b := "b"; c := "c" } + a.b.c.allow if true + a.x.d.allow if true + a.y[x] := "E" if x := "x" + query: data.test.p = x + want_result: + - x: true + - note: ir/call-dynamic with ref heads, issue 5839, penultimate + modules: + - | + package test + import future.keywords.if + p := a[b][c] if { b := "b"; c := "c" } + a.b.c if true + a.x.d if true + a.y := "E" + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/providers-aws/aws-sign_req-errors.yaml b/test/cases/testdata/providers-aws/aws-sign_req-errors.yaml index 2b12e14448..77a3457ffe 100644 --- a/test/cases/testdata/providers-aws/aws-sign_req-errors.yaml +++ b/test/cases/testdata/providers-aws/aws-sign_req-errors.yaml @@ -1,148 +1,149 @@ +--- cases: -# http request object errors: -- data: - modules: - - | - package test - req := {} - aws_config := { - "aws_access_key": "MYAWSACCESSKEYGOESHERE", - "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", - "aws_session_token": "MYAWSSECURITYTOKENGOESHERE", - "aws_service": "s3", - "aws_region": "us-east-1", - } - expected := { - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", - "host": "example.com", - "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "x-amz-date": "20151228T140825Z" - }, - "method": "get", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected - } - note: providers-aws-sign_req/failure-simple-missing http request keys - query: data.test.p = x - want_error_code: eval_type_error - want_error: "providers.aws.sign_req: operand 1 missing required request parameters(s): {\"method\", \"url\"}" - strict_error: true -- data: - modules: - - | - package test - req := {"method": set(), "url": set()} - aws_config := { - "aws_access_key": "MYAWSACCESSKEYGOESHERE", - "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", - "aws_session_token": "MYAWSSECURITYTOKENGOESHERE", - "aws_service": "s3", - "aws_region": "us-east-1", - } - expected := { - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", - "host": "example.com", - "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "x-amz-date": "20151228T140825Z" - }, - "method": "get", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected - } - note: providers-aws-sign_req/failure-simple-invalid type http request keys - query: data.test.p = x - want_error_code: eval_type_error - want_error: "providers.aws.sign_req: operand 1 invalid values for required request parameters(s): {\"method\", \"url\"}" - strict_error: true -# aws config object errors: -- data: - modules: - - | - package test - req := {"method": "get", "url": "http://example.com"} - aws_config := {"example": "example"} - expected := { - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", - "host": "example.com", - "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "x-amz-date": "20151228T140825Z" - }, - "method": "get", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected - } - note: providers-aws-sign_req/failure-simple-missing aws keys - query: data.test.p = x - want_error_code: eval_type_error - want_error: "providers.aws.sign_req: operand 2 missing required AWS config parameters(s): {\"aws_access_key\", \"aws_region\", \"aws_secret_access_key\", \"aws_service\"}" - strict_error: true -- data: - modules: - - | - package test - req := {"method": "get", "url": "http://example.com"} - aws_config := { - "aws_access_key": 1, - "aws_secret_access_key": 2, - "aws_session_token": 3, - "aws_service": 4, - "aws_region": 5, - } - expected := { - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", - "host": "example.com", - "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "x-amz-date": "20151228T140825Z" - }, - "method": "get", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected - } - note: providers-aws-sign_req/failure-simple-invalid type aws keys - query: data.test.p = x - want_error_code: eval_type_error - want_error: "providers.aws.sign_req: operand 2 invalid values for required AWS config parameters(s): {\"aws_access_key\", \"aws_region\", \"aws_secret_access_key\", \"aws_service\"}" - strict_error: true -# timestamp errors: -- data: - modules: - - | - package test - req := {"method": "get", "url": "http://example.com"} - aws_config := { - "aws_access_key": "MYAWSACCESSKEYGOESHERE", - "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", - "aws_session_token": "MYAWSSECURITYTOKENGOESHERE", - "aws_service": "s3", - "aws_region": "us-east-1", - } - expected := { - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", - "host": "example.com", - "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "x-amz-date": "20151228T140825Z" - }, - "method": "get", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, -1e9) == expected - } - note: providers-aws-sign_req/failure-simple-bad timestamp - query: data.test.p = x - want_error_code: eval_type_error - want_error: "providers.aws.sign_req: operand 3 could not convert time_ns value into a unix timestamp" - strict_error: true + # http request object errors: + - data: + modules: + - | + package test + req := {} + aws_config := { + "aws_access_key": "MYAWSACCESSKEYGOESHERE", + "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", + "aws_session_token": "MYAWSSECURITYTOKENGOESHERE", + "aws_service": "s3", + "aws_region": "us-east-1", + } + expected := { + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", + "host": "example.com", + "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "x-amz-date": "20151228T140825Z" + }, + "method": "get", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected + } + note: providers-aws-sign_req/failure-simple-missing http request keys + query: data.test.p = x + want_error_code: eval_type_error + want_error: 'providers.aws.sign_req: operand 1 missing required request parameters(s): {"method", "url"}' + strict_error: true + - data: + modules: + - | + package test + req := {"method": set(), "url": set()} + aws_config := { + "aws_access_key": "MYAWSACCESSKEYGOESHERE", + "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", + "aws_session_token": "MYAWSSECURITYTOKENGOESHERE", + "aws_service": "s3", + "aws_region": "us-east-1", + } + expected := { + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", + "host": "example.com", + "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "x-amz-date": "20151228T140825Z" + }, + "method": "get", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected + } + note: providers-aws-sign_req/failure-simple-invalid type http request keys + query: data.test.p = x + want_error_code: eval_type_error + want_error: 'providers.aws.sign_req: operand 1 invalid values for required request parameters(s): {"method", "url"}' + strict_error: true + # aws config object errors: + - data: + modules: + - | + package test + req := {"method": "get", "url": "http://example.com"} + aws_config := {"example": "example"} + expected := { + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", + "host": "example.com", + "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "x-amz-date": "20151228T140825Z" + }, + "method": "get", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected + } + note: providers-aws-sign_req/failure-simple-missing aws keys + query: data.test.p = x + want_error_code: eval_type_error + want_error: 'providers.aws.sign_req: operand 2 missing required AWS config parameters(s): {"aws_access_key", "aws_region", "aws_secret_access_key", "aws_service"}' + strict_error: true + - data: + modules: + - | + package test + req := {"method": "get", "url": "http://example.com"} + aws_config := { + "aws_access_key": 1, + "aws_secret_access_key": 2, + "aws_session_token": 3, + "aws_service": 4, + "aws_region": 5, + } + expected := { + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", + "host": "example.com", + "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "x-amz-date": "20151228T140825Z" + }, + "method": "get", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected + } + note: providers-aws-sign_req/failure-simple-invalid type aws keys + query: data.test.p = x + want_error_code: eval_type_error + want_error: 'providers.aws.sign_req: operand 2 invalid values for required AWS config parameters(s): {"aws_access_key", "aws_region", "aws_secret_access_key", "aws_service"}' + strict_error: true + # timestamp errors: + - data: + modules: + - | + package test + req := {"method": "get", "url": "http://example.com"} + aws_config := { + "aws_access_key": "MYAWSACCESSKEYGOESHERE", + "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", + "aws_session_token": "MYAWSSECURITYTOKENGOESHERE", + "aws_service": "s3", + "aws_region": "us-east-1", + } + expected := { + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", + "host": "example.com", + "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "x-amz-date": "20151228T140825Z" + }, + "method": "get", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, -1e9) == expected + } + note: providers-aws-sign_req/failure-simple-bad timestamp + query: data.test.p = x + want_error_code: eval_type_error + want_error: "providers.aws.sign_req: operand 3 could not convert time_ns value into a unix timestamp" + strict_error: true diff --git a/test/cases/testdata/providers-aws/aws-sign_req.yaml b/test/cases/testdata/providers-aws/aws-sign_req.yaml index a8bab4222f..49458ce643 100644 --- a/test/cases/testdata/providers-aws/aws-sign_req.yaml +++ b/test/cases/testdata/providers-aws/aws-sign_req.yaml @@ -1,161 +1,162 @@ +--- cases: -- data: - modules: - - | - package test - req := {"method": "get", "url": "http://example.com"} - aws_config := { - "aws_access_key": "MYAWSACCESSKEYGOESHERE", - "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", - "aws_service": "s3", - "aws_region": "us-east-1", - } - expected := { - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", - "host": "example.com", - "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "x-amz-date": "20151228T140825Z" - }, - "method": "get", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected - } - note: providers-aws-sign_req/success-simple-no body - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - req := {"method": "get", "url": "http://example.com", "headers": {"foo": "bar"}} - aws_config := { - "aws_access_key": "MYAWSACCESSKEYGOESHERE", - "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", - "aws_service": "s3", - "aws_region": "us-east-1", - } - expected := { - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=foo;host;x-amz-content-sha256;x-amz-date,Signature=8f1dc7c9b9978356a0d0989fd26a95307f4f8a4aa264d8220647b7097d839952", - "host": "example.com", - "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "x-amz-date": "20151228T140825Z", - "foo": "bar" - }, - "method": "get", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected - } - note: providers-aws-sign_req/success-simple-with headers no body - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - req := {"method": "get", "url": "http://example.com"} - aws_config := { - "aws_access_key": "MYAWSACCESSKEYGOESHERE", - "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", - "aws_session_token": "MYAWSSECURITYTOKENGOESHERE", - "aws_service": "s3", - "aws_region": "us-east-1", - } - expected := { - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-security-token,Signature=23c31bda8a74630c0a94f6b82a3511e7e74728df98e6f54ed0840488dbbdc8d1", - "host": "example.com", - "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "x-amz-date": "20151228T140825Z", - "x-amz-security-token": "MYAWSSECURITYTOKENGOESHERE" - }, - "method": "get", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected - } - note: providers-aws-sign_req/success-simple-no body-with session token - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - req := {"method": "get", "url": "http://example.com", "body": {"example": {1, 2, 3, 4}}} - aws_config := {"aws_access_key": "MYAWSACCESSKEYGOESHERE", "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", "aws_service": "s3", "aws_region": "us-east-1"} - expected := { - "body": {"example": {1, 2, 3, 4}}, - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=5fb06ab1cfd74c8fcb3af95b8cce696708cf6155d971dac10f254d79799c6e88", - "host": "example.com", - "x-amz-content-sha256": "bacff6243c850423883052ac3c336fd645994442933408dfd3f9e858e69bda07", - "x-amz-date": "20151228T140825Z" - }, - "method": "get", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected - } - note: providers-aws-sign_req/success-simple-body - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - req := {"method": "get", "url": "http://example.com", "raw_body": "{\"example\": {1, 2, 3, 4}}"} - aws_config := {"aws_access_key": "MYAWSACCESSKEYGOESHERE", "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", "aws_service": "s3", "aws_region": "us-east-1"} - expected := { - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=5bf26e169cb8b02330dba39d53932532438fc856c2f10537689a09ed807c7195", - "host": "example.com", - "x-amz-content-sha256": "22906461e2a98a3e780d0fd260e341bed5e544661e97c5936fc7f3af11aaad8b", - "x-amz-date": "20151228T140825Z" - }, - "method": "get", - "raw_body": "{\"example\": {1, 2, 3, 4}}", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected - } - note: providers-aws-sign_req/success-simple-raw_body - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - req := {"method": "get", "url": "http://example.com", "body": {"example": {1, 2, 3, 4}}, "raw_body": "{\"example\": {1, 2, 3, 4}}"} - aws_config := {"aws_access_key": "MYAWSACCESSKEYGOESHERE", "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", "aws_service": "s3", "aws_region": "us-east-1"} - expected := { - "body": {"example": {1, 2, 3, 4}}, - "headers": { - "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=5bf26e169cb8b02330dba39d53932532438fc856c2f10537689a09ed807c7195", - "host": "example.com", - "x-amz-content-sha256": "22906461e2a98a3e780d0fd260e341bed5e544661e97c5936fc7f3af11aaad8b", - "x-amz-date": "20151228T140825Z" - }, - "method": "get", - "raw_body": "{\"example\": {1, 2, 3, 4}}", - "url": "http://example.com" - } - p { - providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected - } - note: providers-aws-sign_req/success-simple-body-and-raw_body - query: data.test.p = x - want_result: - - x: true + - data: + modules: + - | + package test + req := {"method": "get", "url": "http://example.com"} + aws_config := { + "aws_access_key": "MYAWSACCESSKEYGOESHERE", + "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", + "aws_service": "s3", + "aws_region": "us-east-1", + } + expected := { + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=0047a7016c81e5c7f29cd522f97e911e04fc472fced0aee7916cbc287ad6c8e3", + "host": "example.com", + "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "x-amz-date": "20151228T140825Z" + }, + "method": "get", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected + } + note: providers-aws-sign_req/success-simple-no body + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + req := {"method": "get", "url": "http://example.com", "headers": {"foo": "bar"}} + aws_config := { + "aws_access_key": "MYAWSACCESSKEYGOESHERE", + "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", + "aws_service": "s3", + "aws_region": "us-east-1", + } + expected := { + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=foo;host;x-amz-content-sha256;x-amz-date,Signature=8f1dc7c9b9978356a0d0989fd26a95307f4f8a4aa264d8220647b7097d839952", + "host": "example.com", + "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "x-amz-date": "20151228T140825Z", + "foo": "bar" + }, + "method": "get", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected + } + note: providers-aws-sign_req/success-simple-with headers no body + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + req := {"method": "get", "url": "http://example.com"} + aws_config := { + "aws_access_key": "MYAWSACCESSKEYGOESHERE", + "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", + "aws_session_token": "MYAWSSECURITYTOKENGOESHERE", + "aws_service": "s3", + "aws_region": "us-east-1", + } + expected := { + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-security-token,Signature=23c31bda8a74630c0a94f6b82a3511e7e74728df98e6f54ed0840488dbbdc8d1", + "host": "example.com", + "x-amz-content-sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "x-amz-date": "20151228T140825Z", + "x-amz-security-token": "MYAWSSECURITYTOKENGOESHERE" + }, + "method": "get", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected + } + note: providers-aws-sign_req/success-simple-no body-with session token + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + req := {"method": "get", "url": "http://example.com", "body": {"example": {1, 2, 3, 4}}} + aws_config := {"aws_access_key": "MYAWSACCESSKEYGOESHERE", "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", "aws_service": "s3", "aws_region": "us-east-1"} + expected := { + "body": {"example": {1, 2, 3, 4}}, + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=5fb06ab1cfd74c8fcb3af95b8cce696708cf6155d971dac10f254d79799c6e88", + "host": "example.com", + "x-amz-content-sha256": "bacff6243c850423883052ac3c336fd645994442933408dfd3f9e858e69bda07", + "x-amz-date": "20151228T140825Z" + }, + "method": "get", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected + } + note: providers-aws-sign_req/success-simple-body + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + req := {"method": "get", "url": "http://example.com", "raw_body": "{\"example\": {1, 2, 3, 4}}"} + aws_config := {"aws_access_key": "MYAWSACCESSKEYGOESHERE", "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", "aws_service": "s3", "aws_region": "us-east-1"} + expected := { + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=5bf26e169cb8b02330dba39d53932532438fc856c2f10537689a09ed807c7195", + "host": "example.com", + "x-amz-content-sha256": "22906461e2a98a3e780d0fd260e341bed5e544661e97c5936fc7f3af11aaad8b", + "x-amz-date": "20151228T140825Z" + }, + "method": "get", + "raw_body": "{\"example\": {1, 2, 3, 4}}", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected + } + note: providers-aws-sign_req/success-simple-raw_body + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + req := {"method": "get", "url": "http://example.com", "body": {"example": {1, 2, 3, 4}}, "raw_body": "{\"example\": {1, 2, 3, 4}}"} + aws_config := {"aws_access_key": "MYAWSACCESSKEYGOESHERE", "aws_secret_access_key": "MYAWSSECRETACCESSKEYGOESHERE", "aws_service": "s3", "aws_region": "us-east-1"} + expected := { + "body": {"example": {1, 2, 3, 4}}, + "headers": { + "Authorization": "AWS4-HMAC-SHA256 Credential=MYAWSACCESSKEYGOESHERE/20151228/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=5bf26e169cb8b02330dba39d53932532438fc856c2f10537689a09ed807c7195", + "host": "example.com", + "x-amz-content-sha256": "22906461e2a98a3e780d0fd260e341bed5e544661e97c5936fc7f3af11aaad8b", + "x-amz-date": "20151228T140825Z" + }, + "method": "get", + "raw_body": "{\"example\": {1, 2, 3, 4}}", + "url": "http://example.com" + } + p { + providers.aws.sign_req(req, aws_config, 1451311705000000000) == expected + } + note: providers-aws-sign_req/success-simple-body-and-raw_body + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/rand/test-rand.intn.yaml b/test/cases/testdata/rand/test-rand.intn.yaml index 66834ce696..7b0c7412ea 100644 --- a/test/cases/testdata/rand/test-rand.intn.yaml +++ b/test/cases/testdata/rand/test-rand.intn.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: - modules: - - | - package test + - data: + modules: + - | + package test - p = count(rands) { - rands := { rand.intn("key", 100) | numbers.range(1,100)[_] } - } - note: rand.intn/consistent values for same arguments - query: data.test.p = x - want_result: - - x: 1 + p = count(rands) { + rands := { rand.intn("key", 100) | numbers.range(1,100)[_] } + } + note: rand.intn/consistent values for same arguments + query: data.test.p = x + want_result: + - x: 1 diff --git a/test/cases/testdata/reachable/test-reachable-0322.yaml b/test/cases/testdata/reachable/test-reachable-0322.yaml index 2cff3e1662..cca19a1fda 100644 --- a/test/cases/testdata/reachable/test-reachable-0322.yaml +++ b/test/cases/testdata/reachable/test-reachable-0322.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package generated + - data: {} + input_term: "{}" + modules: + - | + package generated - p = __local0__ { - graph.reachable({}, {"a"}, __local1__) - __local0__ = __local1__ - } - note: reachable/empty - query: data.generated.p = x - want_result: - - x: [] + p = __local0__ { + graph.reachable({}, {"a"}, __local1__) + __local0__ = __local1__ + } + note: reachable/empty + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/reachable/test-reachable-0323.yaml b/test/cases/testdata/reachable/test-reachable-0323.yaml index 746ecd5321..12f28bdabb 100644 --- a/test/cases/testdata/reachable/test-reachable-0323.yaml +++ b/test/cases/testdata/reachable/test-reachable-0323.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package generated + - data: {} + input_term: "{}" + modules: + - | + package generated - p = __local0__ { - graph.reachable({ - "a": {"b"}, - "b": {"c"}, - "c": {"a"}, - }, {"a"}, __local1__) - sort(__local1__, __local2__) - __local0__ = __local2__ - } - note: reachable/cycle - query: data.generated.p = x - want_result: - - x: - - a - - b - - c + p = __local0__ { + graph.reachable({ + "a": {"b"}, + "b": {"c"}, + "c": {"a"}, + }, {"a"}, __local1__) + sort(__local1__, __local2__) + __local0__ = __local2__ + } + note: reachable/cycle + query: data.generated.p = x + want_result: + - x: + - a + - b + - c diff --git a/test/cases/testdata/reachable/test-reachable-0324.yaml b/test/cases/testdata/reachable/test-reachable-0324.yaml index e4fd5a232b..651a583464 100644 --- a/test/cases/testdata/reachable/test-reachable-0324.yaml +++ b/test/cases/testdata/reachable/test-reachable-0324.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package generated + - data: {} + input_term: "{}" + modules: + - | + package generated - p = __local0__ { - graph.reachable({ - "a": {"b", "c"}, - "b": {"d"}, - "c": {"d"}, - "d": set(), - "e": {"f"}, - "f": {"e"}, - "x": {"x"}, - }, {"b", "e"}, __local1__) - sort(__local1__, __local2__) - __local0__ = __local2__ - } - note: reachable/components - query: data.generated.p = x - want_result: - - x: - - b - - d - - e - - f + p = __local0__ { + graph.reachable({ + "a": {"b", "c"}, + "b": {"d"}, + "c": {"d"}, + "d": set(), + "e": {"f"}, + "f": {"e"}, + "x": {"x"}, + }, {"b", "e"}, __local1__) + sort(__local1__, __local2__) + __local0__ = __local2__ + } + note: reachable/components + query: data.generated.p = x + want_result: + - x: + - b + - d + - e + - f diff --git a/test/cases/testdata/reachable/test-reachable-0325.yaml b/test/cases/testdata/reachable/test-reachable-0325.yaml index b7f5432605..669ce870d1 100644 --- a/test/cases/testdata/reachable/test-reachable-0325.yaml +++ b/test/cases/testdata/reachable/test-reachable-0325.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package generated + - data: {} + input_term: "{}" + modules: + - | + package generated - p = __local0__ { - graph.reachable({ - "a": ["b"], - "b": ["c"], - "c": ["a"], - }, ["a"], __local1__) - sort(__local1__, __local2__) - __local0__ = __local2__ - } - note: reachable/arrays - query: data.generated.p = x - want_result: - - x: - - a - - b - - c + p = __local0__ { + graph.reachable({ + "a": ["b"], + "b": ["c"], + "c": ["a"], + }, ["a"], __local1__) + sort(__local1__, __local2__) + __local0__ = __local2__ + } + note: reachable/arrays + query: data.generated.p = x + want_result: + - x: + - a + - b + - c diff --git a/test/cases/testdata/reachable/test-reachable-0326.yaml b/test/cases/testdata/reachable/test-reachable-0326.yaml index 5f6be70f23..e8b6ccbc14 100644 --- a/test/cases/testdata/reachable/test-reachable-0326.yaml +++ b/test/cases/testdata/reachable/test-reachable-0326.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"graph": 1, "initial": [1]}' - modules: - - | - package generated + - data: {} + input_term: '{"graph": 1, "initial": [1]}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.graph - __local3__ = input.initial - graph.reachable(__local2__, __local3__, __local1__) - __local0__ = __local1__ - } - note: reachable/malformed 1 - query: data.generated.p = x - want_error_code: eval_type_error - strict_error: true \ No newline at end of file + p = __local0__ { + __local2__ = input.graph + __local3__ = input.initial + graph.reachable(__local2__, __local3__, __local1__) + __local0__ = __local1__ + } + note: reachable/malformed 1 + query: data.generated.p = x + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/reachable/test-reachable-0327.yaml b/test/cases/testdata/reachable/test-reachable-0327.yaml index 117d9b1489..bbfc9fa1fb 100644 --- a/test/cases/testdata/reachable/test-reachable-0327.yaml +++ b/test/cases/testdata/reachable/test-reachable-0327.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - input_term: '{"graph": {"a": null}, "initial": ["a"]}' - modules: - - | - package generated + - data: {} + input_term: '{"graph": {"a": null}, "initial": ["a"]}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.graph - __local3__ = input.initial - graph.reachable(__local2__, __local3__, __local1__) - __local0__ = __local1__ - } - note: reachable/malformed 2 - query: data.generated.p = x - want_result: - - x: - - a + p = __local0__ { + __local2__ = input.graph + __local3__ = input.initial + graph.reachable(__local2__, __local3__, __local1__) + __local0__ = __local1__ + } + note: reachable/malformed 2 + query: data.generated.p = x + want_result: + - x: + - a diff --git a/test/cases/testdata/reachable/test-reachable-0328.yaml b/test/cases/testdata/reachable/test-reachable-0328.yaml index f2ebdccb8f..5b02e5b29f 100644 --- a/test/cases/testdata/reachable/test-reachable-0328.yaml +++ b/test/cases/testdata/reachable/test-reachable-0328.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '{"graph": {"a": []}, "initial": "a"}' - modules: - - | - package generated + - data: {} + input_term: '{"graph": {"a": []}, "initial": "a"}' + modules: + - | + package generated - p = __local0__ { - __local2__ = input.graph - __local3__ = input.initial - graph.reachable(__local2__, __local3__, __local1__) - __local0__ = __local1__ - } - note: reachable/malformed 3 - query: data.generated.p = x - want_error_code: eval_type_error - strict_error: true \ No newline at end of file + p = __local0__ { + __local2__ = input.graph + __local3__ = input.initial + graph.reachable(__local2__, __local3__, __local1__) + __local0__ = __local1__ + } + note: reachable/malformed 3 + query: data.generated.p = x + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/reachable/test-reachable-paths-0422.yaml b/test/cases/testdata/reachable/test-reachable-paths-0422.yaml index 9c5cac34f0..2a5222594d 100644 --- a/test/cases/testdata/reachable/test-reachable-paths-0422.yaml +++ b/test/cases/testdata/reachable/test-reachable-paths-0422.yaml @@ -1,9 +1,10 @@ +--- cases: - data: {} modules: - | package reachable - + p = result { graph.reachable_paths({}, {"a"}, result) } @@ -23,7 +24,7 @@ cases: modules: - | package reachable - + p = result { graph.reachable_paths(input.graph, input.initial, result) } @@ -52,7 +53,7 @@ cases: modules: - | package reachable - + p = result { graph.reachable_paths(input.graph, input.initial, result) } @@ -76,7 +77,7 @@ cases: modules: - | package reachable - + p = result { graph.reachable_paths(input.graph, input.initial, result) } @@ -95,7 +96,7 @@ cases: modules: - | package reachable - + p = result { graph.reachable_paths(input.graph, input.initial, result) } @@ -113,7 +114,7 @@ cases: modules: - | package reachable - + p = result { graph.reachable_paths(input.graph, input.initial, result) } @@ -132,7 +133,7 @@ cases: modules: - | package reachable - + p = result { graph.reachable_paths(input.graph, input.initial, result) } @@ -152,7 +153,7 @@ cases: modules: - | package reachable - + p = result { graph.reachable_paths(input.graph, input.initial, result) } @@ -177,7 +178,7 @@ cases: modules: - | package reachable - + p = result { graph.reachable_paths(input.graph, input.initial, result) } diff --git a/test/cases/testdata/reachable/test-reachable-paths-1022.yaml b/test/cases/testdata/reachable/test-reachable-paths-1022.yaml index 02bdba80a7..a409cb5892 100644 --- a/test/cases/testdata/reachable/test-reachable-paths-1022.yaml +++ b/test/cases/testdata/reachable/test-reachable-paths-1022.yaml @@ -1,18 +1,19 @@ - cases: +--- +cases: - data: {} input_term: '{ - "graph": { - "one": ["two","five"], - "two": ["four"], - "three": [""], - "four": ["three"], - "five": ["seven","six"], - "six": ["nine"], - "seven": ["eight"], - "eight": [""], - "nine": [""], - }, - "initial": {"one"} + "graph": { + "one": ["two","five"], + "two": ["four"], + "three": [""], + "four": ["three"], + "five": ["seven","six"], + "six": ["nine"], + "seven": ["eight"], + "eight": [""], + "nine": [""], + }, + "initial": {"one"} }' modules: - | @@ -42,87 +43,87 @@ - data: {} input_term: '{ - "graph": { - "one": {"two","five"}, - "two": {"four"}, - "three": {""}, - "four": {"three"}, - "five": {"seven","six"}, - "six": {"nine"}, - "seven": {"eight"}, - "eight": {""}, - "nine": {""}, - }, - "initial": {"one"} + "graph": { + "one": {"two","five"}, + "two": {"four"}, + "three": {""}, + "four": {"three"}, + "five": {"seven","six"}, + "six": {"nine"}, + "seven": {"eight"}, + "eight": {""}, + "nine": {""}, + }, + "initial": {"one"} }' modules: - - | - package reachable + - | + package reachable - p = result { - graph.reachable_paths(input.graph, input.initial, result) - } + p = result { + graph.reachable_paths(input.graph, input.initial, result) + } note: reachable_paths/cycle_1022_2 query: data.reachable.p = x want_result: - - x: - - - one - - five - - seven - - eight + - x: + - - one + - five + - seven + - eight - - - one - - five - - six - - nine + - - one + - five + - six + - nine - - - one - - two - - four - - three + - - one + - two + - four + - three - data: {} input_term: '{ - "graph": { - "one": ["two","five"], - "two": ["four"], - "three": [""], - "four": ["three"], - "five": ["seven","six"], - "six": ["nine","seven"], - "seven": ["eight"], - "eight": ["three"], - "nine": [""], - }, - "initial": {"one"} - }' + "graph": { + "one": ["two","five"], + "two": ["four"], + "three": [""], + "four": ["three"], + "five": ["seven","six"], + "six": ["nine","seven"], + "seven": ["eight"], + "eight": ["three"], + "nine": [""], + }, + "initial": {"one"} + }' modules: - - | - package reachable + - | + package reachable - p = result { - graph.reachable_paths(input.graph, input.initial, result) - } + p = result { + graph.reachable_paths(input.graph, input.initial, result) + } note: reachable_paths/cycle_1022_3 query: data.reachable.p = x want_result: - - x: - - - one - - five - - seven - - eight - - three + - x: + - - one + - five + - seven + - eight + - three - - - one - - five - - six + - - one + - five + - six - - - one - - five - - six - - nine + - - one + - five + - six + - nine - - - one - - two - - four - - three \ No newline at end of file + - - one + - two + - four + - three diff --git a/test/cases/testdata/refheads/test-generic-refs.yaml b/test/cases/testdata/refheads/test-generic-refs.yaml index 7fe16bbe0e..1fa91806d8 100644 --- a/test/cases/testdata/refheads/test-generic-refs.yaml +++ b/test/cases/testdata/refheads/test-generic-refs.yaml @@ -1,9 +1,10 @@ +--- cases: - - note: 'refheads/general, single var' + - note: "refheads/general, single var" modules: - | package test - + p[q].r := i { q := ["a", "b", "c"][i] } query: data.test.p = x want_result: @@ -14,11 +15,11 @@ cases: r: 1 c: r: 2 - - note: 'refheads/general, multiple vars' + - note: "refheads/general, multiple vars" modules: - | package test - + p[q][r] { q := ["a", "b", "c"][r] } query: data.test.p = x want_result: @@ -29,21 +30,21 @@ cases: 1: true c: 2: true - - note: 'refheads/general, deep query' + - note: "refheads/general, deep query" modules: - | package test - + p[q][r] { q := ["a", "b", "c"][r] } query: data.test.p.b = x want_result: - x: 1: true - - note: 'refheads/general, overlapping rule, no conflict' + - note: "refheads/general, overlapping rule, no conflict" modules: - | package test - + p[q].r := i { q := ["a", "b", "c"][i] } p.a.r := 0 query: data.test.p = x @@ -55,11 +56,11 @@ cases: r: 1 c: r: 2 - - note: 'refheads/general, overlapping rule, different dynamic depths, no conflict' + - note: "refheads/general, overlapping rule, different dynamic depths, no conflict" modules: - | package test - + p[q].r.s := i { q := ["a", "b", "c"][i] } p.d.r := 3 p.e := 4 @@ -78,138 +79,138 @@ cases: d: r: 3 e: 4 - - note: 'refheads/general, self-conflict' + - note: "refheads/general, self-conflict" modules: - | package test - + p[q].r.s := i { q := ["a", "b", "c", "b"][i] } query: data.test.p = x want_error_code: eval_conflict_error - - note: 'refheads/general, overlapping rule, conflict' + - note: "refheads/general, overlapping rule, conflict" modules: - | package test - + p[q].r.s := i { q := ["a", "b", "c"][i] } p.a.r := 42 query: data.test.p = x want_error_code: eval_conflict_error - - note: 'refheads/general, overlapping rule, deep override inside other rule object value, conflict' + - note: "refheads/general, overlapping rule, deep override inside other rule object value, conflict" modules: - | package test - - p[q].r := v { - q := "q"; + + p[q].r := v { + q := "q"; v := { "s": { "t" : 1 - } + } } } - + p.q.r.s.t := 42 query: data.test.p = x want_error_code: eval_conflict_error - - note: 'refheads/general, overlapping rule, deep injection into other rule object value, conflict' + - note: "refheads/general, overlapping rule, deep injection into other rule object value, conflict" modules: - | package test - - p[q].r := v { - q := "q"; + + p[q].r := v { + q := "q"; v := { "s": { "t" : 1 - } + } } } - + p.q.r.s.u := 42 query: data.test.p = x want_error_code: eval_conflict_error - - note: 'refheads/general, set leaf (shallow ref)' + - note: "refheads/general, set leaf (shallow ref)" modules: - | package test import future.keywords - - p[q] contains r { + + p[q] contains r { x := ["a", "b", "c"] - q := x[_] + q := x[_] r := x[_] q != r } - + p.b contains "foo" query: data.test.p = x want_result: - x: - a: [ "b", "c" ] - b: [ "a", "c", "foo" ] - c: [ "a", "b" ] - - note: 'refheads/general, set leaf (other rule defines dynamic ref portion)' + a: ["b", "c"] + b: ["a", "c", "foo"] + c: ["a", "b"] + - note: "refheads/general, set leaf (other rule defines dynamic ref portion)" modules: - | package test import future.keywords - - p.q contains r { + + p.q contains r { r := ["a", "b", "c"][_] } - + p[q] := r { q := "foo"; r := "bar" } query: data.test.p = x want_result: - x: - q: [ "a", "b", "c" ] + q: ["a", "b", "c"] foo: bar - - note: 'refheads/general, set leaf' + - note: "refheads/general, set leaf" modules: - | package test import future.keywords - - p[q].r contains s { + + p[q].r contains s { x := ["a", "b", "c"] - q := x[_] + q := x[_] s := x[_] q != s } - + p.b.r contains "foo" query: data.test.p = x want_result: - x: a: - r: [ "b", "c" ] + r: ["b", "c"] b: - r: [ "a", "c", "foo" ] + r: ["a", "c", "foo"] c: - r: [ "a", "b" ] - - note: 'refheads/general, set leaf, deep query' + r: ["a", "b"] + - note: "refheads/general, set leaf, deep query" modules: - | package test import future.keywords - - p[q].r contains s { + + p[q].r contains s { x := ["a", "b", "c"] - q := x[_] + q := x[_] s := x[_] q != s } - + p.b.r contains "foo" query: data.test.p.b.r.c = x want_result: - x: "c" - - note: 'refheads/general, input var' + - note: "refheads/general, input var" modules: - | package test - + p[input.x].r := "foo" query: data.test.p = x input: @@ -218,20 +219,20 @@ cases: - x: bar: r: "foo" - - note: 'refheads/general, external non-ground var' + - note: "refheads/general, external non-ground var" modules: - | package test - + a := [x | x := input.x[_]] b := input.y - + p[a[b]].r[s] := i { s := a[i] } query: data.test.p = x input: - x: [ "foo", "bar", "baz" ] + x: ["foo", "bar", "baz"] "y": 1 want_result: - x: @@ -240,7 +241,7 @@ cases: foo: 0 bar: 1 baz: 2 - - note: 'refheads/general, multiple result-set entries' + - note: "refheads/general, multiple result-set entries" modules: - | package test @@ -252,4 +253,4 @@ cases: - i: foo x: 1 - i: bar - x: 2 \ No newline at end of file + x: 2 diff --git a/test/cases/testdata/refheads/test-refs-as-rule-heads.yaml b/test/cases/testdata/refheads/test-refs-as-rule-heads.yaml index e289133336..0660a74180 100644 --- a/test/cases/testdata/refheads/test-refs-as-rule-heads.yaml +++ b/test/cases/testdata/refheads/test-refs-as-rule-heads.yaml @@ -1,359 +1,360 @@ +--- cases: -- modules: - - | - package test + - modules: + - | + package test - p.q.r = 1 - p.q.s = 2 - note: 'refheads/single-value' - query: data.test.p = x - want_result: - - x: - q: - r: 1 - s: 2 -- modules: - - | - package test + p.q.r = 1 + p.q.s = 2 + note: "refheads/single-value" + query: data.test.p = x + want_result: + - x: + q: + r: 1 + s: 2 + - modules: + - | + package test - p.q.r = 1 - p.q[s] = 2 { s := "s" } - note: 'refheads/single-value, with var' - query: data.test.p = x - want_result: - - x: - q: - r: 1 - s: 2 -- note: 'refheads/single-value, with var, conflict' - modules: - - | - package test - - p.q.r = 1 - p.q[s] = 2 { s := "r" } - query: data.test.p.q = x - want_error_code: eval_conflict_error - want_error: object keys must be unique -- modules: - - | - package test + p.q.r = 1 + p.q[s] = 2 { s := "s" } + note: "refheads/single-value, with var" + query: data.test.p = x + want_result: + - x: + q: + r: 1 + s: 2 + - note: "refheads/single-value, with var, conflict" + modules: + - | + package test - a.b.c.p { true } - note: 'refheads/complete: direct query' - query: data.test.a.b.c.p = x - want_result: - - x: true -- modules: - - | - package test + p.q.r = 1 + p.q[s] = 2 { s := "r" } + query: data.test.p.q = x + want_error_code: eval_conflict_error + want_error: object keys must be unique + - modules: + - | + package test - q = 0 - note: 'refheads/complete: direct query q' - query: data.test.q = x - want_result: - - x: 0 -- modules: - - | - package test + a.b.c.p { true } + note: "refheads/complete: direct query" + query: data.test.a.b.c.p = x + want_result: + - x: true + - modules: + - | + package test - a.b.c.p { true } - note: 'refheads/complete: full package extent' - query: data.test = x - want_result: - - x: - a: - b: - c: - p: true -- modules: - - | - package test + q = 0 + note: "refheads/complete: direct query q" + query: data.test.q = x + want_result: + - x: 0 + - modules: + - | + package test - a.b.c.p = 1 - q = 0 - a.b.d = 3 + a.b.c.p { true } + note: "refheads/complete: full package extent" + query: data.test = x + want_result: + - x: + a: + b: + c: + p: true + - modules: + - | + package test - p { - q == 0 - a.b.c.p == 1 - a.b.d == 3 - } - note: refheads/complete+mixed - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test + a.b.c.p = 1 + q = 0 + a.b.d = 3 - a.b[x] = y { x := "c"; y := "d" } - note: refheads/single-value rule - query: data.test.a = x - want_result: - - x: - b: - c: d -- modules: - - | - package test - import future.keywords + p { + q == 0 + a.b.c.p == 1 + a.b.d == 3 + } + note: refheads/complete+mixed + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test - a.b contains x if some x in [1,2,3] - note: refheads/multi-value - query: data.test.a = x - want_result: - - x: - b: [1, 2, 3] -# NOTE(sr): This isn't supported yet -# - modules: -# - | -# package test -# import future.keywords + a.b[x] = y { x := "c"; y := "d" } + note: refheads/single-value rule + query: data.test.a = x + want_result: + - x: + b: + c: d + - modules: + - | + package test + import future.keywords -# a.b[c] contains x if { c := "c"; some x in [1,2,3] } -# note: refheads/multi-value with var in ref -# query: data.test.a = x -# want_result: -# - x: -# b: -# c: [1, 2, 3] -- modules: - - | - package test - import future.keywords + a.b contains x if some x in [1,2,3] + note: refheads/multi-value + query: data.test.a = x + want_result: + - x: + b: [1, 2, 3] + # NOTE(sr): This isn't supported yet + # - modules: + # - | + # package test + # import future.keywords - a.b[x] = i if some i, x in [1, 2, 3] - note: 'refheads/single-value: previously partial object' - query: data.test.a.b = x - want_result: - - x: - 1: 0 - 2: 1 - 3: 2 -- modules: - - | - package test - import future.keywords + # a.b[c] contains x if { c := "c"; some x in [1,2,3] } + # note: refheads/multi-value with var in ref + # query: data.test.a = x + # want_result: + # - x: + # b: + # c: [1, 2, 3] + - modules: + - | + package test + import future.keywords - a.b.c.d contains 1 if true - - | - package test.a - import future.keywords + a.b[x] = i if some i, x in [1, 2, 3] + note: "refheads/single-value: previously partial object" + query: data.test.a.b = x + want_result: + - x: + 1: 0 + 2: 1 + 3: 2 + - modules: + - | + package test + import future.keywords - b.c.d contains 2 if true - note: 'refheads/multi-value: same rule' - query: data.test.a = x - want_result: - - x: - b: - c: - d: [1, 2] -- modules: - - | - package test + a.b.c.d contains 1 if true + - | + package test.a + import future.keywords - default a.b.c := "d" - note: refheads/single-value default rule - query: data.test.a = x - want_result: - - x: - b: - c: d -- modules: - - | - package test - import future.keywords + b.c.d contains 2 if true + note: "refheads/multi-value: same rule" + query: data.test.a = x + want_result: + - x: + b: + c: + d: [1, 2] + - modules: + - | + package test - q[7] = 8 if true - a[x] if q[x] - note: refheads/single-value example - query: data.test.a = x - want_result: - - x: - 7: true -- modules: - - | - package test - import future.keywords + default a.b.c := "d" + note: refheads/single-value default rule + query: data.test.a = x + want_result: + - x: + b: + c: d + - modules: + - | + package test + import future.keywords - q[7] = 8 if false - a[x] if q[x] - note: refheads/single-value example, false - query: data.test.a = x - want_result: - - x: {} -- modules: - - | - package test - import future.keywords + q[7] = 8 if true + a[x] if q[x] + note: refheads/single-value example + query: data.test.a = x + want_result: + - x: + 7: true + - modules: + - | + package test + import future.keywords - a.b.c = "d" if true - a.b.e = "f" if true - a.b.g contains x if some x in numbers.range(1, 3) - a.b.h[x] = 1 if x := "one" - note: refheads/mixed example, multiple rules - query: data.test.a.b = x - want_result: - - x: - c: d - e: f - g: - - 1 - - 2 - - 3 - h: - one: 1 -- modules: - - | - package example - import future.keywords + q[7] = 8 if false + a[x] if q[x] + note: refheads/single-value example, false + query: data.test.a = x + want_result: + - x: {} + - modules: + - | + package test + import future.keywords - apps_by_hostname[hostname] := app if { - some i - server := sites[_].servers[_] - hostname := server.hostname - apps[i].servers[_] == server.name - app := apps[i].name - } + a.b.c = "d" if true + a.b.e = "f" if true + a.b.g contains x if some x in numbers.range(1, 3) + a.b.h[x] = 1 if x := "one" + note: refheads/mixed example, multiple rules + query: data.test.a.b = x + want_result: + - x: + c: d + e: f + g: + - 1 + - 2 + - 3 + h: + one: 1 + - modules: + - | + package example + import future.keywords - sites := [ - { - "region": "east", - "name": "prod", - "servers": [ - { - "name": "web-0", - "hostname": "hydrogen" - }, - { - "name": "web-1", - "hostname": "helium" - }, - { - "name": "db-0", - "hostname": "lithium" - } - ] - }, - { - "region": "west", - "name": "smoke", - "servers": [ - { - "name": "web-1000", - "hostname": "beryllium" - }, - { - "name": "web-1001", - "hostname": "boron" - }, - { - "name": "db-1000", - "hostname": "carbon" - } - ] - }, - { - "region": "west", - "name": "dev", - "servers": [ - { - "name": "web-dev", - "hostname": "nitrogen" - }, - { - "name": "db-dev", - "hostname": "oxygen" - } - ] + apps_by_hostname[hostname] := app if { + some i + server := sites[_].servers[_] + hostname := server.hostname + apps[i].servers[_] == server.name + app := apps[i].name } - ] - apps := [ - { - "name": "web", - "servers": ["web-0", "web-1", "web-1000", "web-1001", "web-dev"] - }, - { - "name": "mysql", - "servers": ["db-0", "db-1000"] - }, - { - "name": "mongodb", - "servers": ["db-dev"] - } - ] + sites := [ + { + "region": "east", + "name": "prod", + "servers": [ + { + "name": "web-0", + "hostname": "hydrogen" + }, + { + "name": "web-1", + "hostname": "helium" + }, + { + "name": "db-0", + "hostname": "lithium" + } + ] + }, + { + "region": "west", + "name": "smoke", + "servers": [ + { + "name": "web-1000", + "hostname": "beryllium" + }, + { + "name": "web-1001", + "hostname": "boron" + }, + { + "name": "db-1000", + "hostname": "carbon" + } + ] + }, + { + "region": "west", + "name": "dev", + "servers": [ + { + "name": "web-dev", + "hostname": "nitrogen" + }, + { + "name": "db-dev", + "hostname": "oxygen" + } + ] + } + ] - containers := [ - { - "image": "redis", - "ipaddress": "10.0.0.1", - "name": "big_stallman" - }, - { - "image": "nginx", - "ipaddress": "10.0.0.2", - "name": "cranky_euclid" - } - ] - note: refheads/website-example/partial-obj - query: data.example.apps_by_hostname.helium = x - want_result: - - x: web -- modules: - - | - package example - import future.keywords + apps := [ + { + "name": "web", + "servers": ["web-0", "web-1", "web-1000", "web-1001", "web-dev"] + }, + { + "name": "mysql", + "servers": ["db-0", "db-1000"] + }, + { + "name": "mongodb", + "servers": ["db-dev"] + } + ] - public_network contains net.id if { - some net in input.networks - net.public - } - note: refheads/website-example/partial-set - query: data.example.public_network = x - input: - networks: - - id: n1 - public: true - - id: n2 - public: false - want_result: - - x: - - n1 -- modules: - - | - package test - import future.keywords + containers := [ + { + "image": "redis", + "ipaddress": "10.0.0.1", + "name": "big_stallman" + }, + { + "image": "nginx", + "ipaddress": "10.0.0.2", + "name": "cranky_euclid" + } + ] + note: refheads/website-example/partial-obj + query: data.example.apps_by_hostname.helium = x + want_result: + - x: web + - modules: + - | + package example + import future.keywords - p[a][b][c][d][e] if { - some a in numbers.range(1, 5) - some b in numbers.range(1, 5) - some c in numbers.range(1, 5) - some d in numbers.range(1, 5) - some e in numbers.range(1, 5) - a+b+c+d+e == 24 - } - note: refheads/many-vars - query: data.test.p = x - want_result: - - x: - 4: - 5: - 5: - 5: - 5: true - 5: - 4: - 5: - 5: - 5: true - 5: + public_network contains net.id if { + some net in input.networks + net.public + } + note: refheads/website-example/partial-set + query: data.example.public_network = x + input: + networks: + - id: n1 + public: true + - id: n2 + public: false + want_result: + - x: + - n1 + - modules: + - | + package test + import future.keywords + + p[a][b][c][d][e] if { + some a in numbers.range(1, 5) + some b in numbers.range(1, 5) + some c in numbers.range(1, 5) + some d in numbers.range(1, 5) + some e in numbers.range(1, 5) + a+b+c+d+e == 24 + } + note: refheads/many-vars + query: data.test.p = x + want_result: + - x: 4: 5: - 5: true + 5: + 5: + 5: true 5: 4: - 5: true + 5: + 5: + 5: true 5: - 4: true + 4: + 5: + 5: true + 5: + 4: + 5: true + 5: + 4: true diff --git a/test/cases/testdata/refheads/test-regressions.yaml b/test/cases/testdata/refheads/test-regressions.yaml index 2d09f71345..b73c0c52f2 100644 --- a/test/cases/testdata/refheads/test-regressions.yaml +++ b/test/cases/testdata/refheads/test-regressions.yaml @@ -1,154 +1,155 @@ +--- # NOTE(sr): These tests are not really related to ref heads, but collection # regressions found when introducing ref heads. cases: -- note: regression/ref-not-hashable - modules: - - | - package test + - note: regression/ref-not-hashable + modules: + - | + package test - ms[m.z] = m { - m := input.xs[y] - } - input: - xs: - something: - z: a - query: data.test = x - want_result: - - x: - ms: - a: + ms[m.z] = m { + m := input.xs[y] + } + input: + xs: + something: z: a -- note: regression/function refs and package extent - modules: - - | - package test - import future.keywords.if + query: data.test = x + want_result: + - x: + ms: + a: + z: a + - note: regression/function refs and package extent + modules: + - | + package test + import future.keywords.if - foo.bar(x) = x+1 - x := foo.bar(2) - query: data.test = x - want_result: - - x: - foo: {} - x: 3 + foo.bar(x) = x+1 + x := foo.bar(2) + query: data.test = x + want_result: + - x: + foo: {} + x: 3 -- note: regression/rule refs and package extent - modules: - - | - package test - import future.keywords.if + - note: regression/rule refs and package extent + modules: + - | + package test + import future.keywords.if - buz.quz = 3 if input == 3 - x := y { - y := buz.quz with input as 3 - } - query: data.test = x - want_result: - - x: - buz: {} - x: 3 -- note: regression/rule refs and package extents, multiple modules - modules: - - | - package test - import future.keywords.if + buz.quz = 3 if input == 3 + x := y { + y := buz.quz with input as 3 + } + query: data.test = x + want_result: + - x: + buz: {} + x: 3 + - note: regression/rule refs and package extents, multiple modules + modules: + - | + package test + import future.keywords.if - x := y { - y := data.test.buz.quz with input as 3 - } - - | - package test.buz - import future.keywords.if + x := y { + y := data.test.buz.quz with input as 3 + } + - | + package test.buz + import future.keywords.if - quz = 3 if input == 3 - query: data.test = x - want_result: - - x: - buz: {} - x: 3 -- note: regression/type checking with ref rules - modules: - - | - package test - all[0] = [2] - level := 1 + quz = 3 if input == 3 + query: data.test = x + want_result: + - x: + buz: {} + x: 3 + - note: regression/type checking with ref rules + modules: + - | + package test + all[0] = [2] + level := 1 - p := y { y := all[level-1][_] } - query: data.test.p = x - want_result: - - x: 2 -- note: regression/type checking with ref rules, number - modules: - - | - package test - p[0] = 1 - query: 'data.test.p[0] = x' - want_result: - - x: 1 -- note: regression/type checking with ref rules, bool - modules: - - | - package test - p[true] = 1 - query: 'data.test.p[true] = x' - want_result: - - x: 1 -- note: regression/full extent with partial object rule with empty indexer lookup result - modules: - - | - package test - p[x] = 2 { - x := input # we'll get 0 rules for data.test.p - false - } - query: data.test = x - want_result: - - x: - p: {} -- note: regression/obj in ref head query - modules: - - | - package test - p[{"a": "b"}] = true - query: data.test.p[{"a":"b"}] = x - want_result: - - x: true -- note: regression/full extent with non-string (number) last term - modules: - - | - package test - p[0] = true - query: data.test = x - want_result: - - x: - p: - "0": true # stringified key -- note: regression/full extent with non-string last term, comparison - modules: - - | - package test - p[0] = 1 - q { p[0] == 1 } - query: data.test.q = x - want_result: - - x: true -- note: regression/full extent with non-string (boolean) last term - modules: - - | - package test - p[true] = true - query: data.test = x - want_result: - - x: - p: - "true": true # stringified key -- note: regression/full extent with non-string last term, comparison - modules: - - | - package test - p[true] = false - q { p[true] == false } - query: data.test.q = x - want_result: - - x: true + p := y { y := all[level-1][_] } + query: data.test.p = x + want_result: + - x: 2 + - note: regression/type checking with ref rules, number + modules: + - | + package test + p[0] = 1 + query: "data.test.p[0] = x" + want_result: + - x: 1 + - note: regression/type checking with ref rules, bool + modules: + - | + package test + p[true] = 1 + query: "data.test.p[true] = x" + want_result: + - x: 1 + - note: regression/full extent with partial object rule with empty indexer lookup result + modules: + - | + package test + p[x] = 2 { + x := input # we'll get 0 rules for data.test.p + false + } + query: data.test = x + want_result: + - x: + p: {} + - note: regression/obj in ref head query + modules: + - | + package test + p[{"a": "b"}] = true + query: data.test.p[{"a":"b"}] = x + want_result: + - x: true + - note: regression/full extent with non-string (number) last term + modules: + - | + package test + p[0] = true + query: data.test = x + want_result: + - x: + p: + "0": true # stringified key + - note: regression/full extent with non-string last term, comparison + modules: + - | + package test + p[0] = 1 + q { p[0] == 1 } + query: data.test.q = x + want_result: + - x: true + - note: regression/full extent with non-string (boolean) last term + modules: + - | + package test + p[true] = true + query: data.test = x + want_result: + - x: + p: + "true": true # stringified key + - note: regression/full extent with non-string last term, comparison + modules: + - | + package test + p[true] = false + q { p[true] == false } + query: data.test.q = x + want_result: + - x: true diff --git a/test/cases/testdata/regexfind/test-regexfind-0334.yaml b/test/cases/testdata/regexfind/test-regexfind-0334.yaml index 4a20cbd087..0dd9d44c29 100644 --- a/test/cases/testdata/regexfind/test-regexfind-0334.yaml +++ b/test/cases/testdata/regexfind/test-regexfind-0334.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.find_n("a.", "paranormal", -1, __local0__) - x = __local0__ - } - note: regexfind/finds all match values - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - ar - - an - - al + p[x] { + regex.find_n("a.", "paranormal", -1, __local0__) + x = __local0__ + } + note: regexfind/finds all match values + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - ar + - an + - al diff --git a/test/cases/testdata/regexfind/test-regexfind-0335.yaml b/test/cases/testdata/regexfind/test-regexfind-0335.yaml index f5ca5480f1..290c29e2e2 100644 --- a/test/cases/testdata/regexfind/test-regexfind-0335.yaml +++ b/test/cases/testdata/regexfind/test-regexfind-0335.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.find_n("a.", "paranormal", 2, __local0__) - x = __local0__ - } - note: regexfind/finds specified number of match values - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - ar - - an + p[x] { + regex.find_n("a.", "paranormal", 2, __local0__) + x = __local0__ + } + note: regexfind/finds specified number of match values + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - ar + - an diff --git a/test/cases/testdata/regexfind/test-regexfind-0336.yaml b/test/cases/testdata/regexfind/test-regexfind-0336.yaml index f85a69c605..8fb5473996 100644 --- a/test/cases/testdata/regexfind/test-regexfind-0336.yaml +++ b/test/cases/testdata/regexfind/test-regexfind-0336.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.find_n("bork", "paranormal", -1, __local0__) - x = __local0__ - } - note: regexfind/finds no matching values - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - [] + p[x] { + regex.find_n("bork", "paranormal", -1, __local0__) + x = __local0__ + } + note: regexfind/finds no matching values + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - [] diff --git a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0337.yaml b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0337.yaml index 25653127d3..747bc986e0 100644 --- a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0337.yaml +++ b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0337.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.find_all_string_submatch_n("a(x*)b", "-", -1, __local0__) - x = __local0__ - } - note: regexfindallstringsubmatch/finds no matches - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - [] + p[x] { + regex.find_all_string_submatch_n("a(x*)b", "-", -1, __local0__) + x = __local0__ + } + note: regexfindallstringsubmatch/finds no matches + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - [] diff --git a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0338.yaml b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0338.yaml index 0c34ea7431..24cb6c78f0 100644 --- a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0338.yaml +++ b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0338.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.find_all_string_submatch_n("a(x*)b", "-ab-", -1, __local0__) - x = __local0__ - } - note: regexfindallstringsubmatch/single match without captures - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - - ab - - "" + p[x] { + regex.find_all_string_submatch_n("a(x*)b", "-ab-", -1, __local0__) + x = __local0__ + } + note: regexfindallstringsubmatch/single match without captures + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - - ab + - "" diff --git a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0339.yaml b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0339.yaml index a3fc83bf88..ef04858cdd 100644 --- a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0339.yaml +++ b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0339.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.find_all_string_submatch_n("a(x*)b", "-axxb-", -1, __local0__) - x = __local0__ - } - note: regexfindallstringsubmatch/single match with a capture - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - - axxb - - xx + p[x] { + regex.find_all_string_submatch_n("a(x*)b", "-axxb-", -1, __local0__) + x = __local0__ + } + note: regexfindallstringsubmatch/single match with a capture + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - - axxb + - xx diff --git a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0340.yaml b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0340.yaml index 6797c1f438..84ec46154b 100644 --- a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0340.yaml +++ b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0340.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.find_all_string_submatch_n("a(x*)b", "-ab-axb-", -1, __local0__) - x = __local0__ - } - note: regexfindallstringsubmatch/multiple matches with captures-1 - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - - ab - - "" - - - axb - - x + p[x] { + regex.find_all_string_submatch_n("a(x*)b", "-ab-axb-", -1, __local0__) + x = __local0__ + } + note: regexfindallstringsubmatch/multiple matches with captures-1 + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - - ab + - "" + - - axb + - x diff --git a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0341.yaml b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0341.yaml index f7cbc6e9c8..fb4e2099cb 100644 --- a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0341.yaml +++ b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0341.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.find_all_string_submatch_n("a(x*)b", "-axxb-ab-", -1, __local0__) - x = __local0__ - } - note: regexfindallstringsubmatch/multiple matches with captures-2 - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - - axxb - - xx - - - ab - - "" + p[x] { + regex.find_all_string_submatch_n("a(x*)b", "-axxb-ab-", -1, __local0__) + x = __local0__ + } + note: regexfindallstringsubmatch/multiple matches with captures-2 + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - - axxb + - xx + - - ab + - "" diff --git a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0342.yaml b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0342.yaml index f68c12d85d..efb20173c6 100644 --- a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0342.yaml +++ b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0342.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.find_all_string_submatch_n("[^aouiye]([aouiye])([^aouiye])?", "somestri", -1, __local0__) - x = __local0__ - } - note: regexfindallstringsubmatch/multiple patterns, matches, and captures - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - - som - - o - - m - - - ri - - i - - "" + p[x] { + regex.find_all_string_submatch_n("[^aouiye]([aouiye])([^aouiye])?", "somestri", -1, __local0__) + x = __local0__ + } + note: regexfindallstringsubmatch/multiple patterns, matches, and captures + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - - som + - o + - m + - - ri + - i + - "" diff --git a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0343.yaml b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0343.yaml index 234ee9b718..ef73566992 100644 --- a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0343.yaml +++ b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-0343.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p[x] { - regex.find_all_string_submatch_n("[^aouiye]([aouiye])([^aouiye])?", "somestri", 1, __local0__) - x = __local0__ - } - note: regexfindallstringsubmatch/multiple patterns, matches, and captures with specified number of matches - query: data.generated.p = x - want_result: - - x: - - - - som - - o - - m + p[x] { + regex.find_all_string_submatch_n("[^aouiye]([aouiye])([^aouiye])?", "somestri", 1, __local0__) + x = __local0__ + } + note: regexfindallstringsubmatch/multiple patterns, matches, and captures with specified number of matches + query: data.generated.p = x + want_result: + - x: + - - - som + - o + - m diff --git a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-large-input.yaml b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-large-input.yaml index 1f329af31f..87a33746d2 100644 --- a/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-large-input.yaml +++ b/test/cases/testdata/regexfindallstringsubmatch/test-regexfindallstringsubmatch-large-input.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: - input: - long: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabc" - modules: - - | - package test - import future.keywords + - data: + input: + long: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabc" + modules: + - | + package test + import future.keywords - p contains m if some m in regex.find_all_string_submatch_n("^.*$", input.long, -1) - note: regexfindallstringsubmatch/large input - query: data.test.p = x - want_result: - - x: - - ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabc"] + p contains m if some m in regex.find_all_string_submatch_n("^.*$", input.long, -1) + note: regexfindallstringsubmatch/large input + query: data.test.p = x + want_result: + - x: + - ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabc"] diff --git a/test/cases/testdata/regexisvalid/test-regexisvalid-0329.yaml b/test/cases/testdata/regexisvalid/test-regexisvalid-0329.yaml index 46a8586a2c..b08c124257 100644 --- a/test/cases/testdata/regexisvalid/test-regexisvalid-0329.yaml +++ b/test/cases/testdata/regexisvalid/test-regexisvalid-0329.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: - num: 10 - modules: - - | - package generated + - data: + num: 10 + modules: + - | + package generated - p = x { - __local0__ = data.num - regex.is_valid(__local0__, x) - } - note: regexisvalid/bad operand type - query: data.generated.p = x - want_result: - - x: false + p = x { + __local0__ = data.num + regex.is_valid(__local0__, x) + } + note: regexisvalid/bad operand type + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/regexisvalid/test-regexisvalid-0330.yaml b/test/cases/testdata/regexisvalid/test-regexisvalid-0330.yaml index 6eeeea6f70..bcb5973e9c 100644 --- a/test/cases/testdata/regexisvalid/test-regexisvalid-0330.yaml +++ b/test/cases/testdata/regexisvalid/test-regexisvalid-0330.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - regex.is_valid(`++`, x) - } - note: regexisvalid/bad pattern - query: data.generated.p = x - want_result: - - x: false + p = x { + regex.is_valid(`++`, x) + } + note: regexisvalid/bad pattern + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/regexisvalid/test-regexisvalid-0331.yaml b/test/cases/testdata/regexisvalid/test-regexisvalid-0331.yaml index 33f50f4dfc..dd495baf6f 100644 --- a/test/cases/testdata/regexisvalid/test-regexisvalid-0331.yaml +++ b/test/cases/testdata/regexisvalid/test-regexisvalid-0331.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - regex.is_valid(`.+`, x) - } - note: regexisvalid/good pattern - query: data.generated.p = x - want_result: - - x: true + p = x { + regex.is_valid(`.+`, x) + } + note: regexisvalid/good pattern + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/regexmatch/test-regexmatch-0855.yaml b/test/cases/testdata/regexmatch/test-regexmatch-0855.yaml index 6ea6b2b9dd..b66b7c775d 100644 --- a/test/cases/testdata/regexmatch/test-regexmatch-0855.yaml +++ b/test/cases/testdata/regexmatch/test-regexmatch-0855.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - re_match("^[a-z]+\\[[0-9]+\\]$", "foo[1]") - } - note: regexmatch/re_match - query: data.generated.p = x - want_result: - - x: true + p { + re_match("^[a-z]+\\[[0-9]+\\]$", "foo[1]") + } + note: regexmatch/re_match + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/regexmatch/test-regexmatch-0856.yaml b/test/cases/testdata/regexmatch/test-regexmatch-0856.yaml index e1f8cd0c98..c508256785 100644 --- a/test/cases/testdata/regexmatch/test-regexmatch-0856.yaml +++ b/test/cases/testdata/regexmatch/test-regexmatch-0856.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - re_match("^[a-z]+\\[[0-9]+\\]$", "foo[\"bar\"]") - } - note: 'regexmatch/re_match: undefined' - query: data.generated.p = x - want_result: [] + p { + re_match("^[a-z]+\\[[0-9]+\\]$", "foo[\"bar\"]") + } + note: "regexmatch/re_match: undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/regexmatch/test-regexmatch-0857.yaml b/test/cases/testdata/regexmatch/test-regexmatch-0857.yaml index d2991de27f..4afde0c3b1 100644 --- a/test/cases/testdata/regexmatch/test-regexmatch-0857.yaml +++ b/test/cases/testdata/regexmatch/test-regexmatch-0857.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p { - re_match("][", "foo[\"bar\"]") - } - note: 'regexmatch/re_match: bad pattern err' - query: data.generated.p = x - want_error: 're_match: error parsing regexp: missing closing ]: `[`' - want_error_code: eval_builtin_error - strict_error: true + p { + re_match("][", "foo[\"bar\"]") + } + note: "regexmatch/re_match: bad pattern err" + query: data.generated.p = x + want_error: "re_match: error parsing regexp: missing closing ]: `[`" + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/regexmatch/test-regexmatch-0858.yaml b/test/cases/testdata/regexmatch/test-regexmatch-0858.yaml index d992e9e2cd..aba669066c 100644 --- a/test/cases/testdata/regexmatch/test-regexmatch-0858.yaml +++ b/test/cases/testdata/regexmatch/test-regexmatch-0858.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - d: - e: - - bar - - baz - modules: - - | - package generated + - data: + d: + e: + - bar + - baz + modules: + - | + package generated - p[x] { - __local0__ = data.d.e[x] - re_match("^b.*$", __local0__) - } - note: 'regexmatch/re_match: ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 0 - - 1 + p[x] { + __local0__ = data.d.e[x] + re_match("^b.*$", __local0__) + } + note: "regexmatch/re_match: ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 0 + - 1 diff --git a/test/cases/testdata/regexmatch/test-regexmatch-0859.yaml b/test/cases/testdata/regexmatch/test-regexmatch-0859.yaml index 45077b783d..9777e2cadc 100644 --- a/test/cases/testdata/regexmatch/test-regexmatch-0859.yaml +++ b/test/cases/testdata/regexmatch/test-regexmatch-0859.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - re_match(`^[a-z]+\[[0-9]+\]$`, "foo[1]") - } - note: 'regexmatch/re_match: raw' - query: data.generated.p = x - want_result: - - x: true + p { + re_match(`^[a-z]+\[[0-9]+\]$`, "foo[1]") + } + note: "regexmatch/re_match: raw" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/regexmatch/test-regexmatch-0860.yaml b/test/cases/testdata/regexmatch/test-regexmatch-0860.yaml index e2025cfb1e..db3c524e2a 100644 --- a/test/cases/testdata/regexmatch/test-regexmatch-0860.yaml +++ b/test/cases/testdata/regexmatch/test-regexmatch-0860.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - re_match(`^[a-z]+\[[0-9]+\]$`, "foo[\"bar\"]") - } - note: 'regexmatch/re_match: raw: undefined' - query: data.generated.p = x - want_result: [] + p { + re_match(`^[a-z]+\[[0-9]+\]$`, "foo[\"bar\"]") + } + note: "regexmatch/re_match: raw: undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/regexmatch/test-regexmatch-0861.yaml b/test/cases/testdata/regexmatch/test-regexmatch-0861.yaml index 8301500df8..c73fcd6de1 100644 --- a/test/cases/testdata/regexmatch/test-regexmatch-0861.yaml +++ b/test/cases/testdata/regexmatch/test-regexmatch-0861.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - regex.match("^[a-z]+\\[[0-9]+\\]$", "foo[1]") - } - note: regexmatch/regex.match - query: data.generated.p = x - want_result: - - x: true + p { + regex.match("^[a-z]+\\[[0-9]+\\]$", "foo[1]") + } + note: regexmatch/regex.match + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/regexmatchtemplate/test-regexmatchtemplate-0332.yaml b/test/cases/testdata/regexmatchtemplate/test-regexmatchtemplate-0332.yaml index 985074165b..f68d79c9fa 100644 --- a/test/cases/testdata/regexmatchtemplate/test-regexmatchtemplate-0332.yaml +++ b/test/cases/testdata/regexmatchtemplate/test-regexmatchtemplate-0332.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.template_match("urn:foo:{.*}", "urn:foo:bar:baz", "{", "}", x) - } - note: regexmatchtemplate/matches wildcard with {} - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + regex.template_match("urn:foo:{.*}", "urn:foo:bar:baz", "{", "}", x) + } + note: regexmatchtemplate/matches wildcard with {} + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/regexmatchtemplate/test-regexmatchtemplate-0333.yaml b/test/cases/testdata/regexmatchtemplate/test-regexmatchtemplate-0333.yaml index 205437ca14..0fcbc15d54 100644 --- a/test/cases/testdata/regexmatchtemplate/test-regexmatchtemplate-0333.yaml +++ b/test/cases/testdata/regexmatchtemplate/test-regexmatchtemplate-0333.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - regex.template_match("urn:foo:<.*>", "urn:foo:bar:baz", "<", ">", x) - } - note: regexmatchtemplate/matches wildcard with <> - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + regex.template_match("urn:foo:<.*>", "urn:foo:bar:baz", "<", ">", x) + } + note: regexmatchtemplate/matches wildcard with <> + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/regexreplace/test-regexreplace-0001.yaml b/test/cases/testdata/regexreplace/test-regexreplace-0001.yaml index e84d0f2086..acd197da2e 100644 --- a/test/cases/testdata/regexreplace/test-regexreplace-0001.yaml +++ b/test/cases/testdata/regexreplace/test-regexreplace-0001.yaml @@ -1,39 +1,40 @@ +--- cases: -- data: {} - modules: - - | - package test + - data: {} + modules: + - | + package test - p = x { - s := "-wy-wxxy-" - x := regex.replace(s, "w(x*)y", "0") - } - note: 'regex.replace: test pattern match and replace' - query: data.test.p = x - want_result: - - x: -0-0- -- data: {} - modules: - - | - package test + p = x { + s := "-wy-wxxy-" + x := regex.replace(s, "w(x*)y", "0") + } + note: "regex.replace: test pattern match and replace" + query: data.test.p = x + want_result: + - x: -0-0- + - data: {} + modules: + - | + package test - p = x { - s := "foo" - x := regex.replace(s, "(foo)", "$1$1") - } - note: 'regex.replace: work with groups' - query: data.test.p = x - want_result: - - x: foofoo -- data: {} - modules: - - | - package test + p = x { + s := "foo" + x := regex.replace(s, "(foo)", "$1$1") + } + note: "regex.replace: work with groups" + query: data.test.p = x + want_result: + - x: foofoo + - data: {} + modules: + - | + package test - p = x { - s := "foo" - x := regex.replace(s, "[", "$1") - } - note: 'regex.replace: bad regex pattern: Syntax error' - query: data.test.p = x - want_result: [] + p = x { + s := "foo" + x := regex.replace(s, "[", "$1") + } + note: "regex.replace: bad regex pattern: Syntax error" + query: data.test.p = x + want_result: [] diff --git a/test/cases/testdata/regexsplit/test-regexsplit-0862.yaml b/test/cases/testdata/regexsplit/test-regexsplit-0862.yaml index 3bdaab7917..4aca4ce69d 100644 --- a/test/cases/testdata/regexsplit/test-regexsplit-0862.yaml +++ b/test/cases/testdata/regexsplit/test-regexsplit-0862.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - regex.split("^[a-z]+\\[[0-9]+\\]$", "", [x]) - } - note: 'regexsplit/regex.split: empty string' - query: data.generated.p = x - want_result: - - x: '' + p = x { + regex.split("^[a-z]+\\[[0-9]+\\]$", "", [x]) + } + note: "regexsplit/regex.split: empty string" + query: data.generated.p = x + want_result: + - x: "" diff --git a/test/cases/testdata/regexsplit/test-regexsplit-0863.yaml b/test/cases/testdata/regexsplit/test-regexsplit-0863.yaml index 889300e732..919b480958 100644 --- a/test/cases/testdata/regexsplit/test-regexsplit-0863.yaml +++ b/test/cases/testdata/regexsplit/test-regexsplit-0863.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [v, w, x, y] { - regex.split("a", "banana", [v, w, x, y]) - } - note: 'regexsplit/regex.split: non-repeat pattern' - query: data.generated.p = x - want_result: - - x: - - b - - "n" - - "n" - - "" + p = [v, w, x, y] { + regex.split("a", "banana", [v, w, x, y]) + } + note: "regexsplit/regex.split: non-repeat pattern" + query: data.generated.p = x + want_result: + - x: + - b + - "n" + - "n" + - "" diff --git a/test/cases/testdata/regexsplit/test-regexsplit-0864.yaml b/test/cases/testdata/regexsplit/test-regexsplit-0864.yaml index 2f926db19b..d8e4b50894 100644 --- a/test/cases/testdata/regexsplit/test-regexsplit-0864.yaml +++ b/test/cases/testdata/regexsplit/test-regexsplit-0864.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [v, w] { - regex.split("z+", "pizza", [v, w]) - } - note: 'regexsplit/regex.split: repeat pattern' - query: data.generated.p = x - want_result: - - x: - - pi - - a + p = [v, w] { + regex.split("z+", "pizza", [v, w]) + } + note: "regexsplit/regex.split: repeat pattern" + query: data.generated.p = x + want_result: + - x: + - pi + - a diff --git a/test/cases/testdata/regometadatachain/test-regometadatachain-1.yaml b/test/cases/testdata/regometadatachain/test-regometadatachain-1.yaml index 7cc28ad8ec..c8f98ff869 100644 --- a/test/cases/testdata/regometadatachain/test-regometadatachain-1.yaml +++ b/test/cases/testdata/regometadatachain/test-regometadatachain-1.yaml @@ -1,3 +1,4 @@ +--- cases: - data: note: regometadatachain/simple @@ -6,7 +7,7 @@ cases: # METADATA # description: The Rego test suite package testing - + # METADATA # title: Testing annotations # authors: @@ -83,7 +84,7 @@ cases: package testing - | package testing - + p := rego.metadata.chain() query: data.testing.p = x want_result: diff --git a/test/cases/testdata/regometadatarule/test-regometadatarule-1.yaml b/test/cases/testdata/regometadatarule/test-regometadatarule-1.yaml index c0cc15cb8c..ce5444fd02 100644 --- a/test/cases/testdata/regometadatarule/test-regometadatarule-1.yaml +++ b/test/cases/testdata/regometadatarule/test-regometadatarule-1.yaml @@ -1,3 +1,4 @@ +--- cases: - data: modules: @@ -5,7 +6,7 @@ cases: # METADATA # description: The Rego test suite package testing - + # METADATA # title: Testing annotations # authors: @@ -27,7 +28,7 @@ cases: # METADATA # description: The Rego test suite package testing - + # METADATA # title: Testing annotations # authors: @@ -35,7 +36,7 @@ cases: p := "foo" { false } - + # METADATA # title: Another annotation p := x { @@ -47,4 +48,3 @@ cases: - x: title: Another annotation scope: rule - diff --git a/test/cases/testdata/regoparsemodule/test-regoparsemodule-0320.yaml b/test/cases/testdata/regoparsemodule/test-regoparsemodule-0320.yaml index c03232cd33..b778ed6236 100644 --- a/test/cases/testdata/regoparsemodule/test-regoparsemodule-0320.yaml +++ b/test/cases/testdata/regoparsemodule/test-regoparsemodule-0320.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - ok: "package foo.bar\n\n\t\timport data.a\n\n\t\tp { a = true }" - modules: - - | - package generated + - data: + ok: "package foo.bar\n\n\t\timport data.a\n\n\t\tp { a = true }" + modules: + - | + package generated - p = x { - __local0__ = data.ok - rego.parse_module("x.rego", __local0__, module) - x = module["package"].path[1].value - } - note: regoparsemodule/ok - query: data.generated.p = x - want_result: - - x: foo + p = x { + __local0__ = data.ok + rego.parse_module("x.rego", __local0__, module) + x = module["package"].path[1].value + } + note: regoparsemodule/ok + query: data.generated.p = x + want_result: + - x: foo diff --git a/test/cases/testdata/regoparsemodule/test-regoparsemodule-0321.yaml b/test/cases/testdata/regoparsemodule/test-regoparsemodule-0321.yaml index ee7314edbd..0920c2dee4 100644 --- a/test/cases/testdata/regoparsemodule/test-regoparsemodule-0321.yaml +++ b/test/cases/testdata/regoparsemodule/test-regoparsemodule-0321.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: - err: package foo. - modules: - - | - package generated + - data: + err: package foo. + modules: + - | + package generated - p = x { - __local0__ = data.err - rego.parse_module("x.rego", __local0__, x) - } - note: regoparsemodule/error - query: data.generated.p = x - strict_error: true - want_error: 'rego_parse_error: unexpected eof token: expected ident' - want_error_code: eval_builtin_error + p = x { + __local0__ = data.err + rego.parse_module("x.rego", __local0__, x) + } + note: regoparsemodule/error + query: data.generated.p = x + strict_error: true + want_error: "rego_parse_error: unexpected eof token: expected ident" + want_error_code: eval_builtin_error diff --git a/test/cases/testdata/rendertemplate/rendertemplate.yaml b/test/cases/testdata/rendertemplate/rendertemplate.yaml index 9889cf8c7f..76fbdf52a3 100644 --- a/test/cases/testdata/rendertemplate/rendertemplate.yaml +++ b/test/cases/testdata/rendertemplate/rendertemplate.yaml @@ -1,49 +1,49 @@ +--- cases: -- note: rendertemplate/simple - query: data.test.p = x - modules: - - | - package test - - template_string = `{{.test}}` - template_vars = {`test`: `hello world`} - p = strings.render_template(template_string, template_vars) - want_result: - - x: 'hello world' - -- note: rendertemplate/simpleint - query: data.test.p = x - modules: - - | - package test - - template_string = `{{.test}}` - template_vars = {`test`: 2023} - p = strings.render_template(template_string, template_vars) - want_result: - - x: '2023' - -- note: rendertemplate/complex - query: data.test.p = x - modules: - - | - package test - - template_string = `{{range $i, $name := .hellonames}}{{if $i}},{{end}}hello {{$name}}{{end}}` - template_vars = {`hellonames`: [`rohan`, `john doe`]} - p = strings.render_template(template_string, template_vars) - want_result: - - x: 'hello rohan,hello john doe' - -- note: rendertemplate/missingkey - query: data.test.p = x - modules: - - | - package test - - template_string = `{{.testvarnotprovided}}` - template_vars = {`test`: `hello world`} - p = strings.render_template(template_string, template_vars) - want_error_code: eval_builtin_error - strict_error: true - + - note: rendertemplate/simple + query: data.test.p = x + modules: + - | + package test + + template_string = `{{.test}}` + template_vars = {`test`: `hello world`} + p = strings.render_template(template_string, template_vars) + want_result: + - x: "hello world" + + - note: rendertemplate/simpleint + query: data.test.p = x + modules: + - | + package test + + template_string = `{{.test}}` + template_vars = {`test`: 2023} + p = strings.render_template(template_string, template_vars) + want_result: + - x: "2023" + + - note: rendertemplate/complex + query: data.test.p = x + modules: + - | + package test + + template_string = `{{range $i, $name := .hellonames}}{{if $i}},{{end}}hello {{$name}}{{end}}` + template_vars = {`hellonames`: [`rohan`, `john doe`]} + p = strings.render_template(template_string, template_vars) + want_result: + - x: "hello rohan,hello john doe" + + - note: rendertemplate/missingkey + query: data.test.p = x + modules: + - | + package test + + template_string = `{{.testvarnotprovided}}` + template_vars = {`test`: `hello world`} + p = strings.render_template(template_string, template_vars) + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/replacen/test-replacen-0374.yaml b/test/cases/testdata/replacen/test-replacen-0374.yaml index 9e2c70dac4..541eeffd3f 100644 --- a/test/cases/testdata/replacen/test-replacen-0374.yaml +++ b/test/cases/testdata/replacen/test-replacen-0374.yaml @@ -1,40 +1,41 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - strings.replace_n({"<": "<", ">": ">"}, "This is HTML!", __local0__) - x = __local0__ - } - note: replacen/replace multiple patterns - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - This is <b>HTML</b>! -- data: {} - modules: - - | - package test + p[x] { + strings.replace_n({"<": "<", ">": ">"}, "This is HTML!", __local0__) + x = __local0__ + } + note: replacen/replace multiple patterns + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - This is <b>HTML</b>! + - data: {} + modules: + - | + package test - p = strings.replace_n({"f": "x", "foo": "xxx"}, "foobar") - note: replacen/replace multiple patterns/overlapping - query: data.test.p = x - want_result: - - x: xoobar -- data: {} - modules: - - | - package test + p = strings.replace_n({"f": "x", "foo": "xxx"}, "foobar") + note: replacen/replace multiple patterns/overlapping + query: data.test.p = x + want_result: + - x: xoobar + - data: {} + modules: + - | + package test - p = x { - x := strings.replace_n({ k: v | k := ["f", "foo"][i]; v := ["x", "xxx"][i]}, "foo") - y := strings.replace_n({ k: v | k := ["foo", "f"][i]; v := ["xxx", "x"][i]}, "foo") - x == y - } - note: replacen/replace multiple patterns/overlapping/insertion order does not matter - query: data.test.p = x - want_result: - - x: xoo + p = x { + x := strings.replace_n({ k: v | k := ["f", "foo"][i]; v := ["x", "xxx"][i]}, "foo") + y := strings.replace_n({ k: v | k := ["foo", "f"][i]; v := ["xxx", "x"][i]}, "foo") + x == y + } + note: replacen/replace multiple patterns/overlapping/insertion order does not matter + query: data.test.p = x + want_result: + - x: xoo diff --git a/test/cases/testdata/replacen/test-replacen-0375.yaml b/test/cases/testdata/replacen/test-replacen-0375.yaml index 5e97811963..4dacd53549 100644 --- a/test/cases/testdata/replacen/test-replacen-0375.yaml +++ b/test/cases/testdata/replacen/test-replacen-0375.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - strings.replace_n({"old1": "new1", "old2": "new2"}, "Everything is new1, new2", __local0__) - x = __local0__ - } - note: replacen/find no patterns - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - Everything is new1, new2 + p[x] { + strings.replace_n({"old1": "new1", "old2": "new2"}, "Everything is new1, new2", __local0__) + x = __local0__ + } + note: replacen/find no patterns + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - Everything is new1, new2 diff --git a/test/cases/testdata/replacen/test-replacen-bad-operands.yaml b/test/cases/testdata/replacen/test-replacen-bad-operands.yaml index e9b6c354ee..d25c90c40c 100644 --- a/test/cases/testdata/replacen/test-replacen-bad-operands.yaml +++ b/test/cases/testdata/replacen/test-replacen-bad-operands.yaml @@ -1,37 +1,38 @@ +--- cases: -- data: null - modules: - - | - package test + - data: null + modules: + - | + package test - p = strings.replace_n({2: "x" | true}, "foo") - note: replacen/bad pattern object operand/non-string key - query: data.test.p = x - strict_error: true - want_error: 'strings.replace_n: operand 1 non-string key found in pattern object' - want_error_code: eval_type_error -- data: - pattern: - f: 100 - modules: - - | - package test + p = strings.replace_n({2: "x" | true}, "foo") + note: replacen/bad pattern object operand/non-string key + query: data.test.p = x + strict_error: true + want_error: "strings.replace_n: operand 1 non-string key found in pattern object" + want_error_code: eval_type_error + - data: + pattern: + f: 100 + modules: + - | + package test - p = strings.replace_n(data.pattern, "foo") - note: replacen/bad pattern object operand/non-string value - query: data.test.p = x - strict_error: true - want_error: 'strings.replace_n: operand 1 non-string value found in pattern object' - want_error_code: eval_type_error -- data: - string: 100 - modules: - - | - package test + p = strings.replace_n(data.pattern, "foo") + note: replacen/bad pattern object operand/non-string value + query: data.test.p = x + strict_error: true + want_error: "strings.replace_n: operand 1 non-string value found in pattern object" + want_error_code: eval_type_error + - data: + string: 100 + modules: + - | + package test - p = strings.replace_n({"foo":"baz"}, data.string) - note: replacen/bad pattern object operand/non-string value - query: data.test.p = x - strict_error: true - want_error: 'strings.replace_n: operand 2 must be string but got number' - want_error_code: eval_type_error + p = strings.replace_n({"foo":"baz"}, data.string) + note: replacen/bad pattern object operand/non-string value + query: data.test.p = x + strict_error: true + want_error: "strings.replace_n: operand 2 must be string but got number" + want_error_code: eval_type_error diff --git a/test/cases/testdata/semvercompare/test-semvercompare-0344.yaml b/test/cases/testdata/semvercompare/test-semvercompare-0344.yaml index d639be096b..2622482061 100644 --- a/test/cases/testdata/semvercompare/test-semvercompare-0344.yaml +++ b/test/cases/testdata/semvercompare/test-semvercompare-0344.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - semver.compare("1.0.0", "2.0.0", __local0__) - x = __local0__ - } - note: semvercompare/a < b - query: data.generated.p = x - want_result: - - x: -1 + p = x { + semver.compare("1.0.0", "2.0.0", __local0__) + x = __local0__ + } + note: semvercompare/a < b + query: data.generated.p = x + want_result: + - x: -1 diff --git a/test/cases/testdata/semvercompare/test-semvercompare-0345.yaml b/test/cases/testdata/semvercompare/test-semvercompare-0345.yaml index 5bb4807fc4..ded41df4ce 100644 --- a/test/cases/testdata/semvercompare/test-semvercompare-0345.yaml +++ b/test/cases/testdata/semvercompare/test-semvercompare-0345.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - semver.compare("2.0.0", "1.0.0", __local0__) - x = __local0__ - } - note: semvercompare/a > b - query: data.generated.p = x - want_result: - - x: 1 + p = x { + semver.compare("2.0.0", "1.0.0", __local0__) + x = __local0__ + } + note: semvercompare/a > b + query: data.generated.p = x + want_result: + - x: 1 diff --git a/test/cases/testdata/semvercompare/test-semvercompare-0346.yaml b/test/cases/testdata/semvercompare/test-semvercompare-0346.yaml index 47b1994b5a..2b6d2b8dc1 100644 --- a/test/cases/testdata/semvercompare/test-semvercompare-0346.yaml +++ b/test/cases/testdata/semvercompare/test-semvercompare-0346.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - semver.compare("1.0.0", "1.0.0", __local0__) - x = __local0__ - } - note: semvercompare/a == b - query: data.generated.p = x - want_result: - - x: 0 + p = x { + semver.compare("1.0.0", "1.0.0", __local0__) + x = __local0__ + } + note: semvercompare/a == b + query: data.generated.p = x + want_result: + - x: 0 diff --git a/test/cases/testdata/semvercompare/test-semvercompare-0347.yaml b/test/cases/testdata/semvercompare/test-semvercompare-0347.yaml index 1413fc0799..a376df34d0 100644 --- a/test/cases/testdata/semvercompare/test-semvercompare-0347.yaml +++ b/test/cases/testdata/semvercompare/test-semvercompare-0347.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - semver.compare("1", "1.0.0", __local0__) - x = __local0__ - } - note: semvercompare/invalid version a - query: data.generated.p = x - want_error: 'semver.compare: operand 1: string "1" is not a valid SemVer' - want_error_code: eval_builtin_error - strict_error: true + p = x { + semver.compare("1", "1.0.0", __local0__) + x = __local0__ + } + note: semvercompare/invalid version a + query: data.generated.p = x + want_error: 'semver.compare: operand 1: string "1" is not a valid SemVer' + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/semvercompare/test-semvercompare-0348.yaml b/test/cases/testdata/semvercompare/test-semvercompare-0348.yaml index dc7a01c095..410b3f5837 100644 --- a/test/cases/testdata/semvercompare/test-semvercompare-0348.yaml +++ b/test/cases/testdata/semvercompare/test-semvercompare-0348.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - semver.compare("1.0.0", "1", __local0__) - x = __local0__ - } - note: semvercompare/invalid version b - query: data.generated.p = x - want_error: 'semver.compare: operand 2: string "1" is not a valid SemVer' - want_error_code: eval_builtin_error - strict_error: true + p = x { + semver.compare("1.0.0", "1", __local0__) + x = __local0__ + } + note: semvercompare/invalid version b + query: data.generated.p = x + want_error: 'semver.compare: operand 2: string "1" is not a valid SemVer' + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/semverisvalid/test-semverisvalid-0349.yaml b/test/cases/testdata/semverisvalid/test-semverisvalid-0349.yaml index a778ed4433..8ead3d6509 100644 --- a/test/cases/testdata/semverisvalid/test-semverisvalid-0349.yaml +++ b/test/cases/testdata/semverisvalid/test-semverisvalid-0349.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - semver.is_valid("1.0.0", __local0__) - x = __local0__ - } - note: semverisvalid/valid - query: data.generated.p = x - want_result: - - x: true + p = x { + semver.is_valid("1.0.0", __local0__) + x = __local0__ + } + note: semverisvalid/valid + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/semverisvalid/test-semverisvalid-0350.yaml b/test/cases/testdata/semverisvalid/test-semverisvalid-0350.yaml index 79d7ab5763..9a5a123388 100644 --- a/test/cases/testdata/semverisvalid/test-semverisvalid-0350.yaml +++ b/test/cases/testdata/semverisvalid/test-semverisvalid-0350.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - semver.is_valid("1", __local0__) - x = __local0__ - } - note: semverisvalid/invalid version - query: data.generated.p = x - want_result: - - x: false + p = x { + semver.is_valid("1", __local0__) + x = __local0__ + } + note: semverisvalid/invalid version + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/semverisvalid/test-semverisvalid-0351.yaml b/test/cases/testdata/semverisvalid/test-semverisvalid-0351.yaml index b627e29f96..7770dc0c91 100644 --- a/test/cases/testdata/semverisvalid/test-semverisvalid-0351.yaml +++ b/test/cases/testdata/semverisvalid/test-semverisvalid-0351.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - semver.is_valid(1, __local0__) - x = __local0__ - } - note: semverisvalid/invalid type - query: data.generated.p = x - want_result: - - x: false + p = x { + semver.is_valid(1, __local0__) + x = __local0__ + } + note: semverisvalid/invalid type + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/sets/test-sets-0871.yaml b/test/cases/testdata/sets/test-sets-0871.yaml index 023129c90c..4a1e14bdff 100644 --- a/test/cases/testdata/sets/test-sets-0871.yaml +++ b/test/cases/testdata/sets/test-sets-0871.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - s1 = {1, 2, 3, 4} - s2 = {1, 3} - __local0__ = s1 - s2 - x = __local0__ - } - note: sets/set_diff - query: data.generated.p = x - want_result: - - x: - - 2 - - 4 + p = x { + s1 = {1, 2, 3, 4} + s2 = {1, 3} + __local0__ = s1 - s2 + x = __local0__ + } + note: sets/set_diff + query: data.generated.p = x + want_result: + - x: + - 2 + - 4 diff --git a/test/cases/testdata/sets/test-sets-0872.yaml b/test/cases/testdata/sets/test-sets-0872.yaml index 8f05ca00ec..3f638e4967 100644 --- a/test/cases/testdata/sets/test-sets-0872.yaml +++ b/test/cases/testdata/sets/test-sets-0872.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = x { - __local0__ = data.a[0] - __local1__ = data.a[1] - __local2__ = data.a[2] - s1 = {__local0__, __local1__, __local2__} - __local3__ = data.a[0] - s2 = {2, __local3__} - set_diff(s1, s2, x) - } - note: 'sets/set_diff: refs' - query: data.generated.p = x - want_result: - - x: - - 3 + p = x { + __local0__ = data.a[0] + __local1__ = data.a[1] + __local2__ = data.a[2] + s1 = {__local0__, __local1__, __local2__} + __local3__ = data.a[0] + s2 = {2, __local3__} + set_diff(s1, s2, x) + } + note: "sets/set_diff: refs" + query: data.generated.p = x + want_result: + - x: + - 3 diff --git a/test/cases/testdata/sets/test-sets-0873.yaml b/test/cases/testdata/sets/test-sets-0873.yaml index ce9e36d687..811a4b364b 100644 --- a/test/cases/testdata/sets/test-sets-0873.yaml +++ b/test/cases/testdata/sets/test-sets-0873.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - __local0__ = {1, 2, 3} - {2, 3} - {1} = __local0__ - } - note: 'sets/set_diff: ground output' - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = {1, 2, 3} - {2, 3} + {1} = __local0__ + } + note: "sets/set_diff: ground output" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/sets/test-sets-0874.yaml b/test/cases/testdata/sets/test-sets-0874.yaml index 5b965c2718..fd5474efd1 100644 --- a/test/cases/testdata/sets/test-sets-0874.yaml +++ b/test/cases/testdata/sets/test-sets-0874.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - __local1__ = data.generated.s1 - __local2__ = data.generated.s2 - __local0__ = __local1__ - __local2__ - x = __local0__ - } + p = x { + __local1__ = data.generated.s1 + __local2__ = data.generated.s2 + __local0__ = __local1__ - __local2__ + x = __local0__ + } - s1[1] + s1[1] - s1[2] + s1[2] - s1["c"] + s1["c"] - s2 = {"c", 1} - note: 'sets/set_diff: virt docs' - query: data.generated.p = x - want_result: - - x: - - 2 + s2 = {"c", 1} + note: "sets/set_diff: virt docs" + query: data.generated.p = x + want_result: + - x: + - 2 diff --git a/test/cases/testdata/sets/test-sets-0875.yaml b/test/cases/testdata/sets/test-sets-0875.yaml index 9274ccc654..2651145c7e 100644 --- a/test/cases/testdata/sets/test-sets-0875.yaml +++ b/test/cases/testdata/sets/test-sets-0875.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = x { - __local1__ = data.a[1] - __local2__ = data.a[2] - __local3__ = data.a[2] - __local0__ = {3, __local1__, __local2__} & {3, 4, __local3__} - x = __local0__ - } - note: sets/intersect - query: data.generated.p = x - want_result: - - x: - - 3 + p = x { + __local1__ = data.a[1] + __local2__ = data.a[2] + __local3__ = data.a[2] + __local0__ = {3, __local1__, __local2__} & {3, 4, __local3__} + x = __local0__ + } + note: sets/intersect + query: data.generated.p = x + want_result: + - x: + - 3 diff --git a/test/cases/testdata/sets/test-sets-0876.yaml b/test/cases/testdata/sets/test-sets-0876.yaml index 5e828e52a5..5c8596403c 100644 --- a/test/cases/testdata/sets/test-sets-0876.yaml +++ b/test/cases/testdata/sets/test-sets-0876.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - __local1__ = data.a[1] - __local2__ = data.a[2] - __local3__ = data.a[2] - __local0__ = {3, __local1__, __local2__} | {3, 4, __local3__} - {2, 3, 4} = __local0__ - } - note: sets/union - query: data.generated.p = x - want_result: - - x: true + p { + __local1__ = data.a[1] + __local2__ = data.a[2] + __local3__ = data.a[2] + __local0__ = {3, __local1__, __local2__} | {3, 4, __local3__} + {2, 3, 4} = __local0__ + } + note: sets/union + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/sprintf/test-sprintf.yaml b/test/cases/testdata/sprintf/test-sprintf.yaml index 008c8b2101..08399d6e46 100644 --- a/test/cases/testdata/sprintf/test-sprintf.yaml +++ b/test/cases/testdata/sprintf/test-sprintf.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - modules: - - | - package test + - data: + modules: + - | + package test - p = x { - x = sprintf("%s", [123456789123456789123]) - } - note: sprintf/big_int - query: data.test.p = x - want_result: - - x: "123456789123456789123" -- data: - modules: - - | - package test + p = x { + x = sprintf("%s", [123456789123456789123]) + } + note: sprintf/big_int + query: data.test.p = x + want_result: + - x: "123456789123456789123" + - data: + modules: + - | + package test - p = x { - x = sprintf("%s", [1208925819614629174706175]) - } - note: sprintf/big_int/max_cert_serial_number - query: data.test.p = x - want_result: - - x: "1208925819614629174706175" + p = x { + x = sprintf("%s", [1208925819614629174706175]) + } + note: sprintf/big_int/max_cert_serial_number + query: data.test.p = x + want_result: + - x: "1208925819614629174706175" diff --git a/test/cases/testdata/strings/test-anyprefixmatch.yaml b/test/cases/testdata/strings/test-anyprefixmatch.yaml index 4da395cc0b..371a3002aa 100644 --- a/test/cases/testdata/strings/test-anyprefixmatch.yaml +++ b/test/cases/testdata/strings/test-anyprefixmatch.yaml @@ -1,340 +1,341 @@ +--- cases: -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: ["a/", "d/"] - modules: - - | - package test + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: ["a/", "d/"] + modules: + - | + package test - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: ["f/", "d/"] - modules: - - | - package test + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: ["f/", "d/"] + modules: + - | + package test - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: ["a/b/", "a/"] - modules: - - | - package test + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: ["a/b/", "a/"] + modules: + - | + package test - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: ["d/", "e/f/g"] - modules: - - | - package test + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: ["d/", "e/f/g"] + modules: + - | + package test - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] - prefixes: ["aa/b", "e/f"] - modules: - - | - package test + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] + prefixes: ["aa/b", "e/f"] + modules: + - | + package test - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] - prefixes: ["a/b", "e/f"] - modules: - - | - package test + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] + prefixes: ["a/b", "e/f"] + modules: + - | + package test - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] - prefixes: ["b/cc"] - modules: - - | - package test + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] + prefixes: ["b/cc"] + modules: + - | + package test - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: [] - prefixes: ["a/b", "e/f"] - modules: - - | - package test + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: [] + prefixes: ["a/b", "e/f"] + modules: + - | + package test - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: [] - modules: - - | - package test + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: [] + modules: + - | + package test - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: [] - prefixes: [] - modules: - - | - package test + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: [] + prefixes: [] + modules: + - | + package test - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefix: "a/" - modules: - - | - package test - - p { - strings.any_prefix_match(input.strings, input.prefix) - } - note: strings/any_prefix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefix: "d/" - modules: - - | - package test - - p { - strings.any_prefix_match(input.strings, input.prefix) - } - note: strings/any_prefix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - string: "a/b/c" - prefixes: ["a/", "d/"] - modules: - - | - package test - - p { - strings.any_prefix_match(input.string, input.prefixes) - } - note: strings/any_prefix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - string: "a/b/c" - prefixes: ["g/", "d/"] - modules: - - | - package test - - p { - strings.any_prefix_match(input.string, input.prefixes) - } - note: strings/any_prefix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: ["a/", "d/"] - modules: - - | - package test - - strings_set[str] { - str := input.strings[_] - } - - prefixes_set[prefix] { - prefix := input.prefixes[_] - } - - p { - strings.any_prefix_match(strings_set, prefixes_set) - } - note: strings/any_prefix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: ["f/", "d/"] - modules: - - | - package test - - strings_set[str] { - str := input.strings[_] - } - - prefixes_set[prefix] { - prefix := input.prefixes[_] - } - - p { - strings.any_prefix_match(strings_set, prefixes_set) - } - note: strings/any_prefix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: [1, 2, 3] - prefixes: ["f/", "d/"] - modules: - - | - package test - - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/type_error_nostrict - query: data.test.p = x - want_result: [] -- input: - strings: 1 - prefixes: ["f/", "d/"] - modules: - - | - package test - - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/type_error_nostrict - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: [1, 2] - modules: - - | - package test - - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/type_error_nostrict - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: 1 - modules: - - | - package test - - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/type_error_nostrict - query: data.test.p = x - want_result: [] -- input: - strings: [1, 2, 3] - prefixes: ["f/", "d/"] - modules: - - | - package test - - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/type_error_strict - query: data.test.p = x - strict_error: true - want_error: "test-0.rego:4: eval_type_error: strings.any_prefix_match: operand 1 must be array of strings but got array containing number" -- input: - strings: 1 - prefixes: ["f/", "d/"] - modules: - - | - package test - - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/type_error_strict - query: data.test.p = x - strict_error: true - want_error: "test-0.rego:4: eval_type_error: strings.any_prefix_match: operand 1 must be one of {string, set, array} but got number" -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: [1, 2] - modules: - - | - package test - - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/type_error_strict - query: data.test.p = x - strict_error: true - want_error: "test-0.rego:4: eval_type_error: strings.any_prefix_match: operand 2 must be array of strings but got array containing number" -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: 1 - modules: - - | - package test - - p { - strings.any_prefix_match(input.strings, input.prefixes) - } - note: strings/any_prefix_match/type_error_strict - query: data.test.p = x - strict_error: true - want_error: "test-0.rego:4: eval_type_error: strings.any_prefix_match: operand 2 must be one of {string, set, array} but got number" + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefix: "a/" + modules: + - | + package test + + p { + strings.any_prefix_match(input.strings, input.prefix) + } + note: strings/any_prefix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefix: "d/" + modules: + - | + package test + + p { + strings.any_prefix_match(input.strings, input.prefix) + } + note: strings/any_prefix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + string: "a/b/c" + prefixes: ["a/", "d/"] + modules: + - | + package test + + p { + strings.any_prefix_match(input.string, input.prefixes) + } + note: strings/any_prefix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + string: "a/b/c" + prefixes: ["g/", "d/"] + modules: + - | + package test + + p { + strings.any_prefix_match(input.string, input.prefixes) + } + note: strings/any_prefix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: ["a/", "d/"] + modules: + - | + package test + + strings_set[str] { + str := input.strings[_] + } + + prefixes_set[prefix] { + prefix := input.prefixes[_] + } + + p { + strings.any_prefix_match(strings_set, prefixes_set) + } + note: strings/any_prefix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: ["f/", "d/"] + modules: + - | + package test + + strings_set[str] { + str := input.strings[_] + } + + prefixes_set[prefix] { + prefix := input.prefixes[_] + } + + p { + strings.any_prefix_match(strings_set, prefixes_set) + } + note: strings/any_prefix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: [1, 2, 3] + prefixes: ["f/", "d/"] + modules: + - | + package test + + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/type_error_nostrict + query: data.test.p = x + want_result: [] + - input: + strings: 1 + prefixes: ["f/", "d/"] + modules: + - | + package test + + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/type_error_nostrict + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: [1, 2] + modules: + - | + package test + + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/type_error_nostrict + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: 1 + modules: + - | + package test + + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/type_error_nostrict + query: data.test.p = x + want_result: [] + - input: + strings: [1, 2, 3] + prefixes: ["f/", "d/"] + modules: + - | + package test + + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/type_error_strict + query: data.test.p = x + strict_error: true + want_error: "test-0.rego:4: eval_type_error: strings.any_prefix_match: operand 1 must be array of strings but got array containing number" + - input: + strings: 1 + prefixes: ["f/", "d/"] + modules: + - | + package test + + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/type_error_strict + query: data.test.p = x + strict_error: true + want_error: "test-0.rego:4: eval_type_error: strings.any_prefix_match: operand 1 must be one of {string, set, array} but got number" + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: [1, 2] + modules: + - | + package test + + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/type_error_strict + query: data.test.p = x + strict_error: true + want_error: "test-0.rego:4: eval_type_error: strings.any_prefix_match: operand 2 must be array of strings but got array containing number" + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: 1 + modules: + - | + package test + + p { + strings.any_prefix_match(input.strings, input.prefixes) + } + note: strings/any_prefix_match/type_error_strict + query: data.test.p = x + strict_error: true + want_error: "test-0.rego:4: eval_type_error: strings.any_prefix_match: operand 2 must be one of {string, set, array} but got number" diff --git a/test/cases/testdata/strings/test-anysuffixmatch.yaml b/test/cases/testdata/strings/test-anysuffixmatch.yaml index 43e387d9c5..685952a7b7 100644 --- a/test/cases/testdata/strings/test-anysuffixmatch.yaml +++ b/test/cases/testdata/strings/test-anysuffixmatch.yaml @@ -1,341 +1,341 @@ +--- cases: -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - suffixes: ["/c", "/a"] - modules: - - | - package test + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + suffixes: ["/c", "/a"] + modules: + - | + package test - p { - strings.any_suffix_match(input.strings, input.suffixes) - } - note: strings/any_suffix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - suffixes: ["/f", "/a"] - modules: - - | - package test + p { + strings.any_suffix_match(input.strings, input.suffixes) + } + note: strings/any_suffix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + suffixes: ["/f", "/a"] + modules: + - | + package test - p { - strings.any_suffix_match(input.strings, input.suffixes) - } - note: strings/any_suffix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - suffixes: ["/b/c", "/d"] - modules: - - | - package test + p { + strings.any_suffix_match(input.strings, input.suffixes) + } + note: strings/any_suffix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + suffixes: ["/b/c", "/d"] + modules: + - | + package test - p { - strings.any_suffix_match(input.strings, input.suffixes) - } - note: strings/any_suffix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - suffixes: ["/a", "e/f/g"] - modules: - - | - package test + p { + strings.any_suffix_match(input.strings, input.suffixes) + } + note: strings/any_suffix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + suffixes: ["/a", "e/f/g"] + modules: + - | + package test - p { - strings.any_suffix_match(input.strings, input.suffixes) - } - note: strings/any_suffix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] - suffixes: ["b/cc", "f/g"] - modules: - - | - package test + p { + strings.any_suffix_match(input.strings, input.suffixes) + } + note: strings/any_suffix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] + suffixes: ["b/cc", "f/g"] + modules: + - | + package test - p { - strings.any_suffix_match(input.strings, input.suffixes) - } - note: strings/any_suffix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] - suffixes: ["b/c", "f/g"] - modules: - - | - package test + p { + strings.any_suffix_match(input.strings, input.suffixes) + } + note: strings/any_suffix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] + suffixes: ["b/c", "f/g"] + modules: + - | + package test - p { - strings.any_suffix_match(input.strings, input.suffixes) - } - note: strings/any_suffix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] - suffixes: ["aa/b"] - modules: - - | - package test + p { + strings.any_suffix_match(input.strings, input.suffixes) + } + note: strings/any_suffix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: ["aa/bb/cc", "aa/bb/dd", "ee/ff/gg"] + suffixes: ["aa/b"] + modules: + - | + package test - p { - strings.any_suffix_match(input.strings, input.suffixes) - } - note: strings/any_suffix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: [] - suffixes: ["a/b", "e/f"] - modules: - - | - package test + p { + strings.any_suffix_match(input.strings, input.suffixes) + } + note: strings/any_suffix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: [] + suffixes: ["a/b", "e/f"] + modules: + - | + package test - p { - strings.any_suffix_match(input.strings, input.suffixes) - } - note: strings/any_suffix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - suffixes: [] - modules: - - | - package test + p { + strings.any_suffix_match(input.strings, input.suffixes) + } + note: strings/any_suffix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + suffixes: [] + modules: + - | + package test - p { - strings.any_suffix_match(input.strings, input.suffixes) - } - note: strings/any_suffix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: [] - suffixes: [] - modules: - - | - package test + p { + strings.any_suffix_match(input.strings, input.suffixes) + } + note: strings/any_suffix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: [] + suffixes: [] + modules: + - | + package test - p { - strings.any_suffix_match(input.strings, input.suffixes) - } - note: strings/any_suffix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - suffix: "/c" - modules: - - | - package test - - p { - strings.any_suffix_match(input.strings, input.suffix) - } - note: strings/any_suffix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - suffix: "/h" - modules: - - | - package test - - p { - strings.any_suffix_match(input.strings, input.suffix) - } - note: strings/any_suffix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - string: "a/b/c" - suffixes: ["/c", "/a"] - modules: - - | - package test - - p { - strings.any_suffix_match(input.string, input.suffixes) - } - note: strings/any_suffix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - string: "a/b/g" - suffixes: ["/c", "/a"] - modules: - - | - package test - - p { - strings.any_suffix_match(input.string, input.suffixes) - } - note: strings/any_suffix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - suffixes: ["/c", "/a"] - modules: - - | - package test - - strings_set[str] { - str := input.strings[_] - } + p { + strings.any_suffix_match(input.strings, input.suffixes) + } + note: strings/any_suffix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + suffix: "/c" + modules: + - | + package test - suffixes_set[suffix] { - suffix := input.suffixes[_] - } - - p { - strings.any_suffix_match(strings_set, suffixes_set) - } - note: strings/any_suffix_match/match - query: data.test.p = x - want_result: - - x: true -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - suffixes: ["/f", "/a"] - modules: - - | - package test + p { + strings.any_suffix_match(input.strings, input.suffix) + } + note: strings/any_suffix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + suffix: "/h" + modules: + - | + package test - strings_set[str] { - str := input.strings[_] - } + p { + strings.any_suffix_match(input.strings, input.suffix) + } + note: strings/any_suffix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + string: "a/b/c" + suffixes: ["/c", "/a"] + modules: + - | + package test - suffixes_set[suffix] { - suffix := input.suffixes[_] - } + p { + strings.any_suffix_match(input.string, input.suffixes) + } + note: strings/any_suffix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + string: "a/b/g" + suffixes: ["/c", "/a"] + modules: + - | + package test - p { - strings.any_suffix_match(strings_set, suffixes_set) - } - note: strings/any_suffix_match/nomatch - query: data.test.p = x - want_result: [] -- input: - strings: [1, 2, 3] - prefixes: ["f/", "d/"] - modules: - - | - package test - - p { - strings.any_suffix_match(input.strings, input.prefixes) - } - note: strings/any_suffix_match/type_error_nostrict - query: data.test.p = x - want_result: [] -- input: - strings: 1 - prefixes: ["f/", "d/"] - modules: - - | - package test - - p { - strings.any_suffix_match(input.strings, input.prefixes) - } - note: strings/any_suffix_match/type_error_nostrict - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: [1, 2] - modules: - - | - package test - - p { - strings.any_suffix_match(input.strings, input.prefixes) - } - note: strings/any_suffix_match/type_error_nostrict - query: data.test.p = x - want_result: [] -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: 1 - modules: - - | - package test - - p { - strings.any_suffix_match(input.strings, input.prefixes) - } - note: strings/any_suffix_match/type_error_nostrict - query: data.test.p = x - want_result: [] -- input: - strings: [1, 2, 3] - prefixes: ["f/", "d/"] - modules: - - | - package test - - p { - strings.any_suffix_match(input.strings, input.prefixes) - } - note: strings/any_suffix_match/type_error_strict - query: data.test.p = x - strict_error: true - want_error: "test-0.rego:4: eval_type_error: strings.any_suffix_match: operand 1 must be array of strings but got array containing number" -- input: - strings: 1 - prefixes: ["f/", "d/"] - modules: - - | - package test - - p { - strings.any_suffix_match(input.strings, input.prefixes) - } - note: strings/any_suffix_match/type_error_strict - query: data.test.p = x - strict_error: true - want_error: "test-0.rego:4: eval_type_error: strings.any_suffix_match: operand 1 must be one of {string, set, array} but got number" -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: [1, 2] - modules: - - | - package test - - p { - strings.any_suffix_match(input.strings, input.prefixes) - } - note: strings/any_suffix_match/type_error_strict - query: data.test.p = x - strict_error: true - want_error: "test-0.rego:4: eval_type_error: strings.any_suffix_match: operand 2 must be array of strings but got array containing number" -- input: - strings: ["a/b/c", "a/b/d", "e/f/g"] - prefixes: 1 - modules: - - | - package test - - p { - strings.any_suffix_match(input.strings, input.prefixes) - } - note: strings/any_suffix_match/type_error_strict - query: data.test.p = x - strict_error: true - want_error: "test-0.rego:4: eval_type_error: strings.any_suffix_match: operand 2 must be one of {string, set, array} but got number" + p { + strings.any_suffix_match(input.string, input.suffixes) + } + note: strings/any_suffix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + suffixes: ["/c", "/a"] + modules: + - | + package test + strings_set[str] { + str := input.strings[_] + } + + suffixes_set[suffix] { + suffix := input.suffixes[_] + } + + p { + strings.any_suffix_match(strings_set, suffixes_set) + } + note: strings/any_suffix_match/match + query: data.test.p = x + want_result: + - x: true + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + suffixes: ["/f", "/a"] + modules: + - | + package test + + strings_set[str] { + str := input.strings[_] + } + + suffixes_set[suffix] { + suffix := input.suffixes[_] + } + + p { + strings.any_suffix_match(strings_set, suffixes_set) + } + note: strings/any_suffix_match/nomatch + query: data.test.p = x + want_result: [] + - input: + strings: [1, 2, 3] + prefixes: ["f/", "d/"] + modules: + - | + package test + + p { + strings.any_suffix_match(input.strings, input.prefixes) + } + note: strings/any_suffix_match/type_error_nostrict + query: data.test.p = x + want_result: [] + - input: + strings: 1 + prefixes: ["f/", "d/"] + modules: + - | + package test + + p { + strings.any_suffix_match(input.strings, input.prefixes) + } + note: strings/any_suffix_match/type_error_nostrict + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: [1, 2] + modules: + - | + package test + + p { + strings.any_suffix_match(input.strings, input.prefixes) + } + note: strings/any_suffix_match/type_error_nostrict + query: data.test.p = x + want_result: [] + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: 1 + modules: + - | + package test + + p { + strings.any_suffix_match(input.strings, input.prefixes) + } + note: strings/any_suffix_match/type_error_nostrict + query: data.test.p = x + want_result: [] + - input: + strings: [1, 2, 3] + prefixes: ["f/", "d/"] + modules: + - | + package test + + p { + strings.any_suffix_match(input.strings, input.prefixes) + } + note: strings/any_suffix_match/type_error_strict + query: data.test.p = x + strict_error: true + want_error: "test-0.rego:4: eval_type_error: strings.any_suffix_match: operand 1 must be array of strings but got array containing number" + - input: + strings: 1 + prefixes: ["f/", "d/"] + modules: + - | + package test + + p { + strings.any_suffix_match(input.strings, input.prefixes) + } + note: strings/any_suffix_match/type_error_strict + query: data.test.p = x + strict_error: true + want_error: "test-0.rego:4: eval_type_error: strings.any_suffix_match: operand 1 must be one of {string, set, array} but got number" + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: [1, 2] + modules: + - | + package test + + p { + strings.any_suffix_match(input.strings, input.prefixes) + } + note: strings/any_suffix_match/type_error_strict + query: data.test.p = x + strict_error: true + want_error: "test-0.rego:4: eval_type_error: strings.any_suffix_match: operand 2 must be array of strings but got array containing number" + - input: + strings: ["a/b/c", "a/b/d", "e/f/g"] + prefixes: 1 + modules: + - | + package test + + p { + strings.any_suffix_match(input.strings, input.prefixes) + } + note: strings/any_suffix_match/type_error_strict + query: data.test.p = x + strict_error: true + want_error: "test-0.rego:4: eval_type_error: strings.any_suffix_match: operand 2 must be one of {string, set, array} but got number" diff --git a/test/cases/testdata/strings/test-strings-0877.yaml b/test/cases/testdata/strings/test-strings-0877.yaml index 410e60eb78..66e2c265ae 100644 --- a/test/cases/testdata/strings/test-strings-0877.yaml +++ b/test/cases/testdata/strings/test-strings-0877.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - format_int(15.5, 16, x) - } - note: strings/format_int - query: data.generated.p = x - want_result: - - x: f + p = x { + format_int(15.5, 16, x) + } + note: strings/format_int + query: data.generated.p = x + want_result: + - x: f diff --git a/test/cases/testdata/strings/test-strings-0878.yaml b/test/cases/testdata/strings/test-strings-0878.yaml index e315f31d3d..8bfbfa1f0b 100644 --- a/test/cases/testdata/strings/test-strings-0878.yaml +++ b/test/cases/testdata/strings/test-strings-0878.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - format_int(15.5, 16, "10000") - } - note: 'strings/format_int: undefined' - query: data.generated.p = x - want_result: [] + p { + format_int(15.5, 16, "10000") + } + note: "strings/format_int: undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/strings/test-strings-0879.yaml b/test/cases/testdata/strings/test-strings-0879.yaml index 53cdb1c4a7..e900b88469 100644 --- a/test/cases/testdata/strings/test-strings-0879.yaml +++ b/test/cases/testdata/strings/test-strings-0879.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - numbers: - - '1' - - '2' - - '3' - - '4' - modules: - - | - package generated + - data: + numbers: + - "1" + - "2" + - "3" + - "4" + modules: + - | + package generated - p { - __local0__ = data.numbers[2] - format_int(3.1, 10, __local0__) - } - note: 'strings/format_int: ref dest' - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.numbers[2] + format_int(3.1, 10, __local0__) + } + note: "strings/format_int: ref dest" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/strings/test-strings-0880.yaml b/test/cases/testdata/strings/test-strings-0880.yaml index 075f7aeefc..f78dfc7671 100644 --- a/test/cases/testdata/strings/test-strings-0880.yaml +++ b/test/cases/testdata/strings/test-strings-0880.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - numbers: - - '1' - - '2' - - '3' - - '4' - modules: - - | - package generated + - data: + numbers: + - "1" + - "2" + - "3" + - "4" + modules: + - | + package generated - p { - __local0__ = data.numbers[2] - not format_int(4.1, 10, __local0__) - } - note: 'strings/format_int: ref dest (2)' - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.numbers[2] + not format_int(4.1, 10, __local0__) + } + note: "strings/format_int: ref dest (2)" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/strings/test-strings-0881.yaml b/test/cases/testdata/strings/test-strings-0881.yaml index ec06b1a559..451a21e2b3 100644 --- a/test/cases/testdata/strings/test-strings-0881.yaml +++ b/test/cases/testdata/strings/test-strings-0881.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p { - format_int(4.1, 199, x) - } - note: 'strings/format_int: err: bad base' - query: data.generated.p = x - want_error: operand 2 must be one of {2, 8, 10, 16} - want_error_code: eval_type_error - strict_error: true + p { + format_int(4.1, 199, x) + } + note: "strings/format_int: err: bad base" + query: data.generated.p = x + want_error: operand 2 must be one of {2, 8, 10, 16} + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/strings/test-strings-0882.yaml b/test/cases/testdata/strings/test-strings-0882.yaml index e3b4ac4281..2c9975b8e6 100644 --- a/test/cases/testdata/strings/test-strings-0882.yaml +++ b/test/cases/testdata/strings/test-strings-0882.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - concat("/", ["", "foo", "bar", "0", "baz"], x) - } - note: strings/concat - query: data.generated.p = x - want_result: - - x: /foo/bar/0/baz + p = x { + concat("/", ["", "foo", "bar", "0", "baz"], x) + } + note: strings/concat + query: data.generated.p = x + want_result: + - x: /foo/bar/0/baz diff --git a/test/cases/testdata/strings/test-strings-0883.yaml b/test/cases/testdata/strings/test-strings-0883.yaml index d469334ad4..2fa6aa5954 100644 --- a/test/cases/testdata/strings/test-strings-0883.yaml +++ b/test/cases/testdata/strings/test-strings-0883.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - modules: - - | - package test + - data: + modules: + - | + package test - # Sets are unordered, so the output is not guaranteed. - # These are theoretically possible: - possibilities = { - "1,2,3", - "2,3,1", - "3,1,2", - "3,2,1", - "2,1,3", - "1,3,2" - } + # Sets are unordered, so the output is not guaranteed. + # These are theoretically possible: + possibilities = { + "1,2,3", + "2,3,1", + "3,1,2", + "3,2,1", + "2,1,3", + "1,3,2" + } - p { - x := concat(",", {"1", "2", "3"}) - possibilities[x] - } - note: 'strings/concat: set' - query: data.test.p = x - want_result: - - x: true + p { + x := concat(",", {"1", "2", "3"}) + possibilities[x] + } + note: "strings/concat: set" + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/strings/test-strings-0884.yaml b/test/cases/testdata/strings/test-strings-0884.yaml index 51e2bd1bae..fe3af4d795 100644 --- a/test/cases/testdata/strings/test-strings-0884.yaml +++ b/test/cases/testdata/strings/test-strings-0884.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - concat("/", ["a", "b"], "deadbeef") - } - note: 'strings/concat: undefined' - query: data.generated.p = x - want_result: [] + p { + concat("/", ["a", "b"], "deadbeef") + } + note: "strings/concat: undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/strings/test-strings-0885.yaml b/test/cases/testdata/strings/test-strings-0885.yaml index 84bab7b89f..0813687719 100644 --- a/test/cases/testdata/strings/test-strings-0885.yaml +++ b/test/cases/testdata/strings/test-strings-0885.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p { - __local0__ = data.c[0].x[2] - concat("", ["f", "o", "o"], __local0__) - } - note: 'strings/concat: ref dest' - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.c[0].x[2] + concat("", ["f", "o", "o"], __local0__) + } + note: "strings/concat: ref dest" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/strings/test-strings-0886.yaml b/test/cases/testdata/strings/test-strings-0886.yaml index 04d47f711b..ccb5bb3e79 100644 --- a/test/cases/testdata/strings/test-strings-0886.yaml +++ b/test/cases/testdata/strings/test-strings-0886.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p { - __local0__ = data.c[0].x[2] - not concat("", ["b", "a", "r"], __local0__) - } - note: 'strings/concat: ref dest (2)' - query: data.generated.p = x - want_result: - - x: true + p { + __local0__ = data.c[0].x[2] + not concat("", ["b", "a", "r"], __local0__) + } + note: "strings/concat: ref dest (2)" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/strings/test-strings-0887.yaml b/test/cases/testdata/strings/test-strings-0887.yaml index e2d66f883e..db5af7373e 100644 --- a/test/cases/testdata/strings/test-strings-0887.yaml +++ b/test/cases/testdata/strings/test-strings-0887.yaml @@ -1,23 +1,24 @@ +--- cases: -- modules: - - | - package test + - modules: + - | + package test - p = x { - indexof("abcdefgh", "cde", x) - } - note: strings/indexof - query: data.test.p = x - want_result: - - x: 2 -- modules: - - | - package test + p = x { + indexof("abcdefgh", "cde", x) + } + note: strings/indexof + query: data.test.p = x + want_result: + - x: 2 + - modules: + - | + package test - p = x { - indexof("abcabcabcdefgh", "cde", x) - } - note: strings/indexof - query: data.test.p = x - want_result: - - x: 8 + p = x { + indexof("abcabcabcdefgh", "cde", x) + } + note: strings/indexof + query: data.test.p = x + want_result: + - x: 8 diff --git a/test/cases/testdata/strings/test-strings-0888.yaml b/test/cases/testdata/strings/test-strings-0888.yaml index 2da783adf1..1cb25c24c5 100644 --- a/test/cases/testdata/strings/test-strings-0888.yaml +++ b/test/cases/testdata/strings/test-strings-0888.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - indexof("abcdefgh", "xyz", x) - } - note: 'strings/indexof: not found' - query: data.generated.p = x - want_result: - - x: -1 + p = x { + indexof("abcdefgh", "xyz", x) + } + note: "strings/indexof: not found" + query: data.generated.p = x + want_result: + - x: -1 diff --git a/test/cases/testdata/strings/test-strings-0889.yaml b/test/cases/testdata/strings/test-strings-0889.yaml index d02d30cf9b..02ef5f7237 100644 --- a/test/cases/testdata/strings/test-strings-0889.yaml +++ b/test/cases/testdata/strings/test-strings-0889.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - substring("abcdefgh", 2, 3, x) - } - note: strings/substring - query: data.generated.p = x - want_result: - - x: cde -- modules: - - "package generated\n\np = x {\n substring(\"\xE5\xE4\xF6\", 0, 2, x)\n}\n" - note: 'strings/substring: unicode' - query: data.generated.p = x - want_result: - - x: "\xE5\xE4" + p = x { + substring("abcdefgh", 2, 3, x) + } + note: strings/substring + query: data.generated.p = x + want_result: + - x: cde + - modules: + - "package generated\n\np = x {\n substring(\"\xE5\xE4\xF6\", 0, 2, x)\n}\n" + note: "strings/substring: unicode" + query: data.generated.p = x + want_result: + - x: "\xE5\xE4" diff --git a/test/cases/testdata/strings/test-strings-0890.yaml b/test/cases/testdata/strings/test-strings-0890.yaml index 4c120b4ec0..69a587ca54 100644 --- a/test/cases/testdata/strings/test-strings-0890.yaml +++ b/test/cases/testdata/strings/test-strings-0890.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - substring("abcdefgh", 2, -1, x) - } - note: 'strings/substring: remainder' - query: data.generated.p = x - want_result: - - x: cdefgh -- modules: - - "package generated\n\np = x {\n substring(\"a\xE5\xE4\xF6\", 2, -1, x)\n}\n" - note: 'strings/substring: remainder unicode' - query: data.generated.p = x - want_result: - - x: "\xE4\xF6" + p = x { + substring("abcdefgh", 2, -1, x) + } + note: "strings/substring: remainder" + query: data.generated.p = x + want_result: + - x: cdefgh + - modules: + - "package generated\n\np = x {\n substring(\"a\xE5\xE4\xF6\", 2, -1, x)\n}\n" + note: "strings/substring: remainder unicode" + query: data.generated.p = x + want_result: + - x: "\xE4\xF6" diff --git a/test/cases/testdata/strings/test-strings-0891.yaml b/test/cases/testdata/strings/test-strings-0891.yaml index aea5498a27..dd7cae3726 100644 --- a/test/cases/testdata/strings/test-strings-0891.yaml +++ b/test/cases/testdata/strings/test-strings-0891.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - substring("abcdefgh", 2, 10000, x) - } - note: 'strings/substring: too long' - query: data.generated.p = x - want_result: - - x: cdefgh -- modules: - - "package generated\n\np = x {\n substring(\"abcdefgh\xE5\xE4\xF6\", 2, 10000,\ - \ x)\n}\n" - note: 'strings/substring: too long unicode' - query: data.generated.p = x - want_result: - - x: "cdefgh\xE5\xE4\xF6" + p = x { + substring("abcdefgh", 2, 10000, x) + } + note: "strings/substring: too long" + query: data.generated.p = x + want_result: + - x: cdefgh + - modules: + - "package generated\n\np = x {\n substring(\"abcdefgh\xE5\xE4\xF6\", 2, 10000,\ + \ x)\n}\n" + note: "strings/substring: too long unicode" + query: data.generated.p = x + want_result: + - x: "cdefgh\xE5\xE4\xF6" diff --git a/test/cases/testdata/strings/test-strings-0892.yaml b/test/cases/testdata/strings/test-strings-0892.yaml index e2a114fbf7..accf4468d5 100644 --- a/test/cases/testdata/strings/test-strings-0892.yaml +++ b/test/cases/testdata/strings/test-strings-0892.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - substring("aaa", -1, -1, x) - } - note: 'strings/substring: offset negative' - query: data.generated.p = x - want_error: negative offset - want_error_code: eval_builtin_error - strict_error: true -- modules: - - | - package generated + p = x { + substring("aaa", -1, -1, x) + } + note: "strings/substring: offset negative" + query: data.generated.p = x + want_error: negative offset + want_error_code: eval_builtin_error + strict_error: true + - modules: + - | + package generated - p = x { - substring("åäö", -1, -1, x) - } - note: 'strings/substring: offset negative unicode' - query: data.generated.p = x - want_error: negative offset - want_error_code: eval_builtin_error - strict_error: true + p = x { + substring("åäö", -1, -1, x) + } + note: "strings/substring: offset negative unicode" + query: data.generated.p = x + want_error: negative offset + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/strings/test-strings-0893.yaml b/test/cases/testdata/strings/test-strings-0893.yaml index ebc2147baa..0ae9a49cea 100644 --- a/test/cases/testdata/strings/test-strings-0893.yaml +++ b/test/cases/testdata/strings/test-strings-0893.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - substring("aaa", 3, -1, x) - } - note: 'strings/substring: offset too long' - query: data.generated.p = x - want_result: - - x: '' -- modules: - - "package generated\n\np = x {\n substring(\"\xE5\xE4\xF6\", 3, -1, x)\n}\n" - note: 'strings/substring: offset too long unicode' - query: data.generated.p = x - want_result: - - x: '' + p = x { + substring("aaa", 3, -1, x) + } + note: "strings/substring: offset too long" + query: data.generated.p = x + want_result: + - x: "" + - modules: + - "package generated\n\np = x {\n substring(\"\xE5\xE4\xF6\", 3, -1, x)\n}\n" + note: "strings/substring: offset too long unicode" + query: data.generated.p = x + want_result: + - x: "" diff --git a/test/cases/testdata/strings/test-strings-0894.yaml b/test/cases/testdata/strings/test-strings-0894.yaml index f422274782..3f0f9cbbb5 100644 --- a/test/cases/testdata/strings/test-strings-0894.yaml +++ b/test/cases/testdata/strings/test-strings-0894.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - substring("aaa", 4, -1, x) - } - note: 'strings/substring: offset too long 2' - query: data.generated.p = x - want_result: - - x: '' -- modules: - - "package generated\n\np = x {\n substring(\"\xE5\xE4\xF6\", 4, -1, x)\n}\n" - note: 'strings/substring: offset too long 2 unicode' - query: data.generated.p = x - want_result: - - x: '' + p = x { + substring("aaa", 4, -1, x) + } + note: "strings/substring: offset too long 2" + query: data.generated.p = x + want_result: + - x: "" + - modules: + - "package generated\n\np = x {\n substring(\"\xE5\xE4\xF6\", 4, -1, x)\n}\n" + note: "strings/substring: offset too long 2 unicode" + query: data.generated.p = x + want_result: + - x: "" diff --git a/test/cases/testdata/strings/test-strings-0895.yaml b/test/cases/testdata/strings/test-strings-0895.yaml index 2b42392e97..e84071c6b0 100644 --- a/test/cases/testdata/strings/test-strings-0895.yaml +++ b/test/cases/testdata/strings/test-strings-0895.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - contains("abcdefgh", "defg") - } - note: strings/contains - query: data.generated.p = x - want_result: - - x: true + p { + contains("abcdefgh", "defg") + } + note: strings/contains + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/strings/test-strings-0896.yaml b/test/cases/testdata/strings/test-strings-0896.yaml index d829e07897..d52eb2a43c 100644 --- a/test/cases/testdata/strings/test-strings-0896.yaml +++ b/test/cases/testdata/strings/test-strings-0896.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - contains("abcdefgh", "ac") - } - note: 'strings/contains: undefined' - query: data.generated.p = x - want_result: [] + p { + contains("abcdefgh", "ac") + } + note: "strings/contains: undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/strings/test-strings-0897.yaml b/test/cases/testdata/strings/test-strings-0897.yaml index d9559474c2..a4e46f56bd 100644 --- a/test/cases/testdata/strings/test-strings-0897.yaml +++ b/test/cases/testdata/strings/test-strings-0897.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - startswith("abcdefgh", "abcd") - } - note: strings/startswith - query: data.generated.p = x - want_result: - - x: true + p { + startswith("abcdefgh", "abcd") + } + note: strings/startswith + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/strings/test-strings-0898.yaml b/test/cases/testdata/strings/test-strings-0898.yaml index 2dc5f0b6b5..6af7044b88 100644 --- a/test/cases/testdata/strings/test-strings-0898.yaml +++ b/test/cases/testdata/strings/test-strings-0898.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - startswith("abcdefgh", "bcd") - } - note: 'strings/startswith: undefined' - query: data.generated.p = x - want_result: [] + p { + startswith("abcdefgh", "bcd") + } + note: "strings/startswith: undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/strings/test-strings-0899.yaml b/test/cases/testdata/strings/test-strings-0899.yaml index a94fd1089a..71555c61d7 100644 --- a/test/cases/testdata/strings/test-strings-0899.yaml +++ b/test/cases/testdata/strings/test-strings-0899.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - endswith("abcdefgh", "fgh") - } - note: strings/endswith - query: data.generated.p = x - want_result: - - x: true + p { + endswith("abcdefgh", "fgh") + } + note: strings/endswith + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/strings/test-strings-0900.yaml b/test/cases/testdata/strings/test-strings-0900.yaml index 6784072979..82c88c389e 100644 --- a/test/cases/testdata/strings/test-strings-0900.yaml +++ b/test/cases/testdata/strings/test-strings-0900.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - endswith("abcdefgh", "fg") - } - note: 'strings/endswith: undefined' - query: data.generated.p = x - want_result: [] + p { + endswith("abcdefgh", "fg") + } + note: "strings/endswith: undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/strings/test-strings-0901.yaml b/test/cases/testdata/strings/test-strings-0901.yaml index b01870b510..4dc6a9d54b 100644 --- a/test/cases/testdata/strings/test-strings-0901.yaml +++ b/test/cases/testdata/strings/test-strings-0901.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - lower("AbCdEf", x) - } - note: strings/lower - query: data.generated.p = x - want_result: - - x: abcdef + p = x { + lower("AbCdEf", x) + } + note: strings/lower + query: data.generated.p = x + want_result: + - x: abcdef diff --git a/test/cases/testdata/strings/test-strings-0902.yaml b/test/cases/testdata/strings/test-strings-0902.yaml index c71e794c54..ccfa3232da 100644 --- a/test/cases/testdata/strings/test-strings-0902.yaml +++ b/test/cases/testdata/strings/test-strings-0902.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - upper("AbCdEf", x) - } - note: strings/upper - query: data.generated.p = x - want_result: - - x: ABCDEF + p = x { + upper("AbCdEf", x) + } + note: strings/upper + query: data.generated.p = x + want_result: + - x: ABCDEF diff --git a/test/cases/testdata/strings/test-strings-0903.yaml b/test/cases/testdata/strings/test-strings-0903.yaml index 1edc1498fc..8b7f8e21ab 100644 --- a/test/cases/testdata/strings/test-strings-0903.yaml +++ b/test/cases/testdata/strings/test-strings-0903.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - split("", ".", [x]) - } - note: 'strings/split: empty string' - query: data.generated.p = x - want_result: - - x: '' + p = x { + split("", ".", [x]) + } + note: "strings/split: empty string" + query: data.generated.p = x + want_result: + - x: "" diff --git a/test/cases/testdata/strings/test-strings-0904.yaml b/test/cases/testdata/strings/test-strings-0904.yaml index ef633c812c..05eaf64cfe 100644 --- a/test/cases/testdata/strings/test-strings-0904.yaml +++ b/test/cases/testdata/strings/test-strings-0904.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - split("foo", ".", [x]) - } - note: 'strings/split: one' - query: data.generated.p = x - want_result: - - x: foo + p = x { + split("foo", ".", [x]) + } + note: "strings/split: one" + query: data.generated.p = x + want_result: + - x: foo diff --git a/test/cases/testdata/strings/test-strings-0905.yaml b/test/cases/testdata/strings/test-strings-0905.yaml index 99269ac596..c30b15a65e 100644 --- a/test/cases/testdata/strings/test-strings-0905.yaml +++ b/test/cases/testdata/strings/test-strings-0905.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y] { - split("foo.bar.baz", ".", [x, "bar", y]) - } - note: 'strings/split: many' - query: data.generated.p = x - want_result: - - x: - - foo - - baz + p = [x, y] { + split("foo.bar.baz", ".", [x, "bar", y]) + } + note: "strings/split: many" + query: data.generated.p = x + want_result: + - x: + - foo + - baz diff --git a/test/cases/testdata/strings/test-strings-0906.yaml b/test/cases/testdata/strings/test-strings-0906.yaml index 291c5af4ea..b3c2a46107 100644 --- a/test/cases/testdata/strings/test-strings-0906.yaml +++ b/test/cases/testdata/strings/test-strings-0906.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - replace("", "hi", "bye", x) - } - note: 'strings/replace: empty string' - query: data.generated.p = x - want_result: - - x: '' + p = x { + replace("", "hi", "bye", x) + } + note: "strings/replace: empty string" + query: data.generated.p = x + want_result: + - x: "" diff --git a/test/cases/testdata/strings/test-strings-0907.yaml b/test/cases/testdata/strings/test-strings-0907.yaml index bdf73c6ed3..1806abf55f 100644 --- a/test/cases/testdata/strings/test-strings-0907.yaml +++ b/test/cases/testdata/strings/test-strings-0907.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - replace("foo.bar", ".", ",", x) - } - note: 'strings/replace: one' - query: data.generated.p = x - want_result: - - x: foo,bar + p = x { + replace("foo.bar", ".", ",", x) + } + note: "strings/replace: one" + query: data.generated.p = x + want_result: + - x: foo,bar diff --git a/test/cases/testdata/strings/test-strings-0908.yaml b/test/cases/testdata/strings/test-strings-0908.yaml index ead0cc8cad..01b2d7e0c5 100644 --- a/test/cases/testdata/strings/test-strings-0908.yaml +++ b/test/cases/testdata/strings/test-strings-0908.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - replace("foo.bar.baz", ".", ",", x) - } - note: 'strings/replace: many' - query: data.generated.p = x - want_result: - - x: foo,bar,baz + p = x { + replace("foo.bar.baz", ".", ",", x) + } + note: "strings/replace: many" + query: data.generated.p = x + want_result: + - x: foo,bar,baz diff --git a/test/cases/testdata/strings/test-strings-0909.yaml b/test/cases/testdata/strings/test-strings-0909.yaml index 9002d70710..29ea900f53 100644 --- a/test/cases/testdata/strings/test-strings-0909.yaml +++ b/test/cases/testdata/strings/test-strings-0909.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - replace("foo...bar", "..", ",,", x) - } - note: 'strings/replace: overlap' - query: data.generated.p = x - want_result: - - x: foo,,.bar + p = x { + replace("foo...bar", "..", ",,", x) + } + note: "strings/replace: overlap" + query: data.generated.p = x + want_result: + - x: foo,,.bar diff --git a/test/cases/testdata/strings/test-strings-0910.yaml b/test/cases/testdata/strings/test-strings-0910.yaml index 0e062f0878..1dca8c4f61 100644 --- a/test/cases/testdata/strings/test-strings-0910.yaml +++ b/test/cases/testdata/strings/test-strings-0910.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - trim("", ".", x) - } - note: 'strings/trim: empty string' - query: data.generated.p = x - want_result: - - x: '' + p = x { + trim("", ".", x) + } + note: "strings/trim: empty string" + query: data.generated.p = x + want_result: + - x: "" diff --git a/test/cases/testdata/strings/test-strings-0911.yaml b/test/cases/testdata/strings/test-strings-0911.yaml index b52d6f55c1..b46dc79681 100644 --- a/test/cases/testdata/strings/test-strings-0911.yaml +++ b/test/cases/testdata/strings/test-strings-0911.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - trim("foo.bar...", ".", x) - } - note: 'strings/trim: end' - query: data.generated.p = x - want_result: - - x: foo.bar + p = x { + trim("foo.bar...", ".", x) + } + note: "strings/trim: end" + query: data.generated.p = x + want_result: + - x: foo.bar diff --git a/test/cases/testdata/strings/test-strings-0912.yaml b/test/cases/testdata/strings/test-strings-0912.yaml index 0b1f0324fa..67a481b1c8 100644 --- a/test/cases/testdata/strings/test-strings-0912.yaml +++ b/test/cases/testdata/strings/test-strings-0912.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - trim("...foo.bar", ".", x) - } - note: 'strings/trim: start' - query: data.generated.p = x - want_result: - - x: foo.bar + p = x { + trim("...foo.bar", ".", x) + } + note: "strings/trim: start" + query: data.generated.p = x + want_result: + - x: foo.bar diff --git a/test/cases/testdata/strings/test-strings-0913.yaml b/test/cases/testdata/strings/test-strings-0913.yaml index f646fd5c6a..61207db8c0 100644 --- a/test/cases/testdata/strings/test-strings-0913.yaml +++ b/test/cases/testdata/strings/test-strings-0913.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - trim("...foo.bar...", ".", x) - } - note: 'strings/trim: both' - query: data.generated.p = x - want_result: - - x: foo.bar + p = x { + trim("...foo.bar...", ".", x) + } + note: "strings/trim: both" + query: data.generated.p = x + want_result: + - x: foo.bar diff --git a/test/cases/testdata/strings/test-strings-0914.yaml b/test/cases/testdata/strings/test-strings-0914.yaml index 98fba84c67..d94d770e9b 100644 --- a/test/cases/testdata/strings/test-strings-0914.yaml +++ b/test/cases/testdata/strings/test-strings-0914.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - trim("...foo.bar...", ".fr", x) - } - note: 'strings/trim: multi-cutset' - query: data.generated.p = x - want_result: - - x: oo.ba + p = x { + trim("...foo.bar...", ".fr", x) + } + note: "strings/trim: multi-cutset" + query: data.generated.p = x + want_result: + - x: oo.ba diff --git a/test/cases/testdata/strings/test-strings-0915.yaml b/test/cases/testdata/strings/test-strings-0915.yaml index dc62ffdc3d..69c47d1705 100644 --- a/test/cases/testdata/strings/test-strings-0915.yaml +++ b/test/cases/testdata/strings/test-strings-0915.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - trim("...foo.bar...", ".o", x) - } - note: 'strings/trim: multi-cutset-none' - query: data.generated.p = x - want_result: - - x: foo.bar + p = x { + trim("...foo.bar...", ".o", x) + } + note: "strings/trim: multi-cutset-none" + query: data.generated.p = x + want_result: + - x: foo.bar diff --git a/test/cases/testdata/strings/test-strings-0916.yaml b/test/cases/testdata/strings/test-strings-0916.yaml index 255b133608..03a215e11f 100644 --- a/test/cases/testdata/strings/test-strings-0916.yaml +++ b/test/cases/testdata/strings/test-strings-0916.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sprintf("hi", [], x) - } - note: 'strings/sprintf: none' - query: data.generated.p = x - want_result: - - x: hi + p = x { + sprintf("hi", [], x) + } + note: "strings/sprintf: none" + query: data.generated.p = x + want_result: + - x: hi diff --git a/test/cases/testdata/strings/test-strings-0917.yaml b/test/cases/testdata/strings/test-strings-0917.yaml index 39f2d0ade7..30e408964b 100644 --- a/test/cases/testdata/strings/test-strings-0917.yaml +++ b/test/cases/testdata/strings/test-strings-0917.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sprintf("hi %s", ["there"], x) - } - note: 'strings/sprintf: string' - query: data.generated.p = x - want_result: - - x: hi there + p = x { + sprintf("hi %s", ["there"], x) + } + note: "strings/sprintf: string" + query: data.generated.p = x + want_result: + - x: hi there diff --git a/test/cases/testdata/strings/test-strings-0918.yaml b/test/cases/testdata/strings/test-strings-0918.yaml index 6c96254854..53f20e80c2 100644 --- a/test/cases/testdata/strings/test-strings-0918.yaml +++ b/test/cases/testdata/strings/test-strings-0918.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sprintf("hi %02d", [5], x) - } - note: 'strings/sprintf: int' - query: data.generated.p = x - want_result: - - x: hi 05 + p = x { + sprintf("hi %02d", [5], x) + } + note: "strings/sprintf: int" + query: data.generated.p = x + want_result: + - x: hi 05 diff --git a/test/cases/testdata/strings/test-strings-0919.yaml b/test/cases/testdata/strings/test-strings-0919.yaml index a77d8a4dc4..71601f96e9 100644 --- a/test/cases/testdata/strings/test-strings-0919.yaml +++ b/test/cases/testdata/strings/test-strings-0919.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sprintf("hi %02X.%02X", [127, 1], x) - } - note: 'strings/sprintf: hex' - query: data.generated.p = x - want_result: - - x: hi 7F.01 + p = x { + sprintf("hi %02X.%02X", [127, 1], x) + } + note: "strings/sprintf: hex" + query: data.generated.p = x + want_result: + - x: hi 7F.01 diff --git a/test/cases/testdata/strings/test-strings-0920.yaml b/test/cases/testdata/strings/test-strings-0920.yaml index f4e9ad1848..915a11ce2e 100644 --- a/test/cases/testdata/strings/test-strings-0920.yaml +++ b/test/cases/testdata/strings/test-strings-0920.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sprintf("hi %.2f", [3.1415], x) - } - note: 'strings/sprintf: float' - query: data.generated.p = x - want_result: - - x: hi 3.14 + p = x { + sprintf("hi %.2f", [3.1415], x) + } + note: "strings/sprintf: float" + query: data.generated.p = x + want_result: + - x: hi 3.14 diff --git a/test/cases/testdata/strings/test-strings-0921.yaml b/test/cases/testdata/strings/test-strings-0921.yaml index 00caae77bd..8b495ea41e 100644 --- a/test/cases/testdata/strings/test-strings-0921.yaml +++ b/test/cases/testdata/strings/test-strings-0921.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sprintf("hi %v", [2e308], x) - } - note: 'strings/sprintf: float too big' - query: data.generated.p = x - want_result: - - x: hi 2e308 + p = x { + sprintf("hi %v", [2e308], x) + } + note: "strings/sprintf: float too big" + query: data.generated.p = x + want_result: + - x: hi 2e308 diff --git a/test/cases/testdata/strings/test-strings-0922.yaml b/test/cases/testdata/strings/test-strings-0922.yaml index 1c97d90a8e..389a652f3a 100644 --- a/test/cases/testdata/strings/test-strings-0922.yaml +++ b/test/cases/testdata/strings/test-strings-0922.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sprintf("hi %s", [true], x) - } - note: 'strings/sprintf: bool' - query: data.generated.p = x - want_result: - - x: hi true + p = x { + sprintf("hi %s", [true], x) + } + note: "strings/sprintf: bool" + query: data.generated.p = x + want_result: + - x: hi true diff --git a/test/cases/testdata/strings/test-strings-0923.yaml b/test/cases/testdata/strings/test-strings-0923.yaml index 81389f8862..95587edb53 100644 --- a/test/cases/testdata/strings/test-strings-0923.yaml +++ b/test/cases/testdata/strings/test-strings-0923.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - sprintf("hi %v", [["there", 5, 3.14]], x) - } - note: 'strings/sprintf: composite' - query: data.generated.p = x - want_result: - - x: hi ["there", 5, 3.14] + p = x { + sprintf("hi %v", [["there", 5, 3.14]], x) + } + note: "strings/sprintf: composite" + query: data.generated.p = x + want_result: + - x: hi ["there", 5, 3.14] diff --git a/test/cases/testdata/strings/test-strings-0924.yaml b/test/cases/testdata/strings/test-strings-0924.yaml index f39684256b..5048165cc0 100644 --- a/test/cases/testdata/strings/test-strings-0924.yaml +++ b/test/cases/testdata/strings/test-strings-0924.yaml @@ -1,70 +1,71 @@ +--- cases: -- data: - foo: bar - modules: - - | - package test + - data: + foo: bar + modules: + - | + package test - p := strings.reverse(data.foo) - note: strings/reverse_bar - query: data.test.p = x - want_result: - - x: rab -- data: - foo: "2\uFE0F\u20E3" - modules: - - | - package test + p := strings.reverse(data.foo) + note: strings/reverse_bar + query: data.test.p = x + want_result: + - x: rab + - data: + foo: "2\uFE0F\u20E3" + modules: + - | + package test - p := strings.reverse(data.foo) - note: strings/reverse_unicode_multi_char_emojii - query: data.test.p = x - want_result: - - x: "\u20E3\uFE0F2" -- data: - foo: "1\U0001F600\U0001D6FE" - modules: - - | - package test + p := strings.reverse(data.foo) + note: strings/reverse_unicode_multi_char_emojii + query: data.test.p = x + want_result: + - x: "\u20E3\uFE0F2" + - data: + foo: "1\U0001F600\U0001D6FE" + modules: + - | + package test - p := strings.reverse(data.foo) - note: strings/reverse_unicode - query: data.test.p = x - want_result: - - x: "\U0001D6FE\U0001F6001" -- data: - foo: '' - modules: - - | - package test + p := strings.reverse(data.foo) + note: strings/reverse_unicode + query: data.test.p = x + want_result: + - x: "\U0001D6FE\U0001F6001" + - data: + foo: "" + modules: + - | + package test - p := strings.reverse(data.foo) - note: strings/reverse_empty - query: data.test.p = x - want_result: - - x: '' -- data: - foo: 123 - modules: - - | - package test + p := strings.reverse(data.foo) + note: strings/reverse_empty + query: data.test.p = x + want_result: + - x: "" + - data: + foo: 123 + modules: + - | + package test - p := strings.reverse(data.foo) - note: strings/reverse_number_error - query: data.test.p = x - strict_error: true - want_error: 'reverse: operand 1 must be string but got number' - want_error_code: eval_type_error -- data: - foo: - bar: baz - modules: - - | - package test + p := strings.reverse(data.foo) + note: strings/reverse_number_error + query: data.test.p = x + strict_error: true + want_error: "reverse: operand 1 must be string but got number" + want_error_code: eval_type_error + - data: + foo: + bar: baz + modules: + - | + package test - p := strings.reverse(data.foo) - note: strings/reverse_object_error - query: data.test.p = x - strict_error: true - want_error: 'reverse: operand 1 must be string but got object' - want_error_code: eval_type_error + p := strings.reverse(data.foo) + note: strings/reverse_object_error + query: data.test.p = x + strict_error: true + want_error: "reverse: operand 1 must be string but got object" + want_error_code: eval_type_error diff --git a/test/cases/testdata/strings/test-strings-0925.yaml b/test/cases/testdata/strings/test-strings-0925.yaml index a5d21524e9..79e9754acd 100644 --- a/test/cases/testdata/strings/test-strings-0925.yaml +++ b/test/cases/testdata/strings/test-strings-0925.yaml @@ -1,5 +1,6 @@ +--- cases: - - note: 'strings/indexof_n_single_match' + - note: "strings/indexof_n_single_match" query: data.test.p = x modules: - | @@ -7,7 +8,7 @@ cases: p := indexof_n("dogcat", "cat") want_result: - x: [3] - - note: 'strings/indexof_n_multiple_matches' + - note: "strings/indexof_n_multiple_matches" query: data.test.p = x modules: - | @@ -15,7 +16,7 @@ cases: p := indexof_n("dogcatdogcat", "cat") want_result: - x: [3, 9] - - note: 'strings/indexof_n_no_match' + - note: "strings/indexof_n_no_match" query: data.test.p = x modules: - | @@ -23,7 +24,7 @@ cases: p := indexof_n("dogcat", "rabbit") want_result: - x: [] - - note: 'strings/indexof_n_unicode_matches' + - note: "strings/indexof_n_unicode_matches" query: data.test.p = x modules: - | @@ -31,11 +32,11 @@ cases: p := indexof_n("😇😀😇😀😇😀", "😀") want_result: - x: [1, 3, 5] - - note: 'strings/indexof_n_unicode_no_match' + - note: "strings/indexof_n_unicode_no_match" query: data.test.p = x modules: - | package test p := indexof_n("😇😀😇😀😇😀", "😂") want_result: - - x: [] \ No newline at end of file + - x: [] diff --git a/test/cases/testdata/strings/test-strings-indexof-unicode.yaml b/test/cases/testdata/strings/test-strings-indexof-unicode.yaml index f0fb33c6e4..ba3218d1f3 100644 --- a/test/cases/testdata/strings/test-strings-indexof-unicode.yaml +++ b/test/cases/testdata/strings/test-strings-indexof-unicode.yaml @@ -1,56 +1,57 @@ +--- cases: -- modules: - - | - package test + - modules: + - | + package test - p = x { - indexof("μx", "x", x) - } - note: 'strings/indexof: unicode char' - query: data.test.p = x - want_result: - - x: 1 -- modules: - - | - package test + p = x { + indexof("μx", "x", x) + } + note: "strings/indexof: unicode char" + query: data.test.p = x + want_result: + - x: 1 + - modules: + - | + package test - p = x { - indexof("μ", "μμ", x) - } - note: 'strings/indexof: unicode chars not found' - query: data.test.p = x - want_result: - - x: -1 -- modules: - - | - package test + p = x { + indexof("μ", "μμ", x) + } + note: "strings/indexof: unicode chars not found" + query: data.test.p = x + want_result: + - x: -1 + - modules: + - | + package test - p = x { - indexof("skön var våren", "vår", x) - } - note: 'strings/indexof: unicode string' - query: data.test.p = x - want_result: - - x: 9 -- modules: - - | - package test + p = x { + indexof("skön var våren", "vår", x) + } + note: "strings/indexof: unicode string" + query: data.test.p = x + want_result: + - x: 9 + - modules: + - | + package test - p = x { - indexof("🍧🍨🧁🍰🍮", "🍮", x) - } - note: 'strings/indexof: unicode string emoji' - query: data.test.p = x - want_result: - - x: 4 -- modules: - - | - package test + p = x { + indexof("🍧🍨🧁🍰🍮", "🍮", x) + } + note: "strings/indexof: unicode string emoji" + query: data.test.p = x + want_result: + - x: 4 + - modules: + - | + package test - p = x { - indexof("🍧🍨🧁🍰🍮", "🍧🍨🧁🍰🍮", x) - } - note: 'strings/indexof: unicode string emojis' - query: data.test.p = x - want_result: - - x: 0 \ No newline at end of file + p = x { + indexof("🍧🍨🧁🍰🍮", "🍧🍨🧁🍰🍮", x) + } + note: "strings/indexof: unicode string emojis" + query: data.test.p = x + want_result: + - x: 0 diff --git a/test/cases/testdata/subset/test-subset.yaml b/test/cases/testdata/subset/test-subset.yaml index 336db7c971..9aec6f01d4 100644 --- a/test/cases/testdata/subset/test-subset.yaml +++ b/test/cases/testdata/subset/test-subset.yaml @@ -1,3 +1,4 @@ +--- cases: - data: modules: @@ -27,7 +28,6 @@ cases: want_result: - x: true - - data: modules: - | @@ -177,7 +177,6 @@ cases: want_result: - x: true - - data: modules: - | @@ -386,7 +385,7 @@ cases: query: data.test.test_result = x want_result: - x: true - + - data: modules: - | @@ -435,4 +434,4 @@ cases: note: subset/arrays 6 query: data.test.test_result = x want_result: - - x: true \ No newline at end of file + - x: true diff --git a/test/cases/testdata/time/test-time-0947.yaml b/test/cases/testdata/time/test-time-0947.yaml index 40ea6b6851..94b0fd1a87 100644 --- a/test/cases/testdata/time/test-time-0947.yaml +++ b/test/cases/testdata/time/test-time-0947.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - time.now_ns(t0) - test.sleep("10ms") - time.now_ns(t1) - t1 = t2 - } - note: time/time caching - query: data.generated.p = x - want_result: - - x: true + p { + time.now_ns(t0) + test.sleep("10ms") + time.now_ns(t1) + t1 = t2 + } + note: time/time caching + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/time/test-time-0948.yaml b/test/cases/testdata/time/test-time-0948.yaml index f372b83add..b451a44707 100644 --- a/test/cases/testdata/time/test-time-0948.yaml +++ b/test/cases/testdata/time/test-time-0948.yaml @@ -1,52 +1,77 @@ +--- cases: -- note: time/parse_nanos - modules: - - | - package generated - - p[case_id] = ns { - case := input.cases[case_id] - time.parse_ns(case.layout, case.value, ns) - } - query: data.generated.p = x - input: { cases: { - 1: { layout: "2006-01-02T15:04:05Z07:00", value: "2017-06-02T19:00:00-07:00" }, # RFC3339 - 2: { layout: "2006-01-02T15:04:05Z07:00", value: "1677-09-21T00:12:43.145224192-00:00" }, # Earliest valid time - 3: { layout: "2006-01-02T15:04:05Z07:00", value: "2262-04-11T23:47:16.854775807-00:00" }, # Latest valid time - 4: { layout: "01/02 03:04:05PM '06 -0700", value: "06/02 07:00:00PM '17 -0700" }, # Layout - 5: { layout: "02 Jan 06 15:04 -0700", value: "02 Jun 17 19:00 -0700" }, # RFC822Z - 6: { layout: "RFC822Z", value: "02 Jun 17 19:00 -0700" }, # format constant - }} - want_result: - - x: { - 1: 1496455200000000000, - 2: -9223372036854775808, - 3: 9223372036854775807, - 4: 1496455200000000000, - 5: 1496455200000000000, - 6: 1496455200000000000, - } -- note: time/parse_nanos_too_small - modules: - - | - package generated - - p = ns { - time.parse_ns("2006-01-02T15:04:05Z07:00", "1677-09-21T00:12:43.145224191-00:00", ns) - } - query: data.generated.p = x - strict_error: true - want_error_code: eval_builtin_error - want_error: 'time outside of valid range' -- note: time/parse_nanos_too_large - modules: - - | - package generated - - p = ns { - time.parse_ns("2006-01-02T15:04:05Z07:00", "2262-04-11T23:47:16.854775808-00:00", ns) - } - query: data.generated.p = x - strict_error: true - want_error_code: eval_builtin_error - want_error: 'time outside of valid range' + - note: time/parse_nanos + modules: + - | + package generated + + p[case_id] = ns { + case := input.cases[case_id] + time.parse_ns(case.layout, case.value, ns) + } + query: data.generated.p = x + input: { + cases: + { + 1: + { + layout: "2006-01-02T15:04:05Z07:00", + value: "2017-06-02T19:00:00-07:00", + }, + ? 2 # RFC3339 + : { + layout: "2006-01-02T15:04:05Z07:00", + value: "1677-09-21T00:12:43.145224192-00:00", + }, + ? 3 # Earliest valid time + : { + layout: "2006-01-02T15:04:05Z07:00", + value: "2262-04-11T23:47:16.854775807-00:00", + }, + ? 4 # Latest valid time + : { + layout: "01/02 03:04:05PM '06 -0700", + value: "06/02 07:00:00PM '17 -0700", + }, + ? 5 # Layout + : { + layout: "02 Jan 06 15:04 -0700", + value: "02 Jun 17 19:00 -0700", + }, + 6: { layout: "RFC822Z", value: "02 Jun 17 19:00 -0700" }, + }, + } # RFC822Z # format constant + want_result: + - x: + { + 1: 1496455200000000000, + 2: -9223372036854775808, + 3: 9223372036854775807, + 4: 1496455200000000000, + 5: 1496455200000000000, + 6: 1496455200000000000, + } + - note: time/parse_nanos_too_small + modules: + - | + package generated + + p = ns { + time.parse_ns("2006-01-02T15:04:05Z07:00", "1677-09-21T00:12:43.145224191-00:00", ns) + } + query: data.generated.p = x + strict_error: true + want_error_code: eval_builtin_error + want_error: "time outside of valid range" + - note: time/parse_nanos_too_large + modules: + - | + package generated + + p = ns { + time.parse_ns("2006-01-02T15:04:05Z07:00", "2262-04-11T23:47:16.854775808-00:00", ns) + } + query: data.generated.p = x + strict_error: true + want_error_code: eval_builtin_error + want_error: "time outside of valid range" diff --git a/test/cases/testdata/time/test-time-0949.yaml b/test/cases/testdata/time/test-time-0949.yaml index 73ad63e322..252e27526c 100644 --- a/test/cases/testdata/time/test-time-0949.yaml +++ b/test/cases/testdata/time/test-time-0949.yaml @@ -1,48 +1,50 @@ +--- cases: -- note: time/parse_rfc3339_nanos - modules: - - | - package generated - - p[t] = ns { - t = input.cases[_] - time.parse_rfc3339_ns(t, ns) - } - query: data.generated.p = x - input: { cases: [ - "1677-09-21T00:12:43.145224192-00:00", # Earliest valid time - "1970-01-01T00:00:00-00:00", - "2017-06-02T19:00:00-07:00", - "2262-04-11T23:47:16.854775807-00:00" # Latest valid time - ]} - want_result: - - x: { - "1677-09-21T00:12:43.145224192-00:00": -9223372036854775808, - "1970-01-01T00:00:00-00:00": 0, - "2017-06-02T19:00:00-07:00": 1496455200000000000, - "2262-04-11T23:47:16.854775807-00:00": 9223372036854775807, - } -- note: time/parse_rfc3339_nanos_too_small - modules: - - | - package generated - - p = ns { - time.parse_rfc3339_ns("1677-09-21T00:12:43.145224191-00:00", ns) - } - query: data.generated.p = x - strict_error: true - want_error_code: eval_builtin_error - want_error: 'time outside of valid range' -- note: time/parse_rfc3339_nanos_too_large - modules: - - | - package generated - - p = ns { - time.parse_rfc3339_ns("2262-04-11T23:47:16.854775808-00:00", ns) - } - query: data.generated.p = x - strict_error: true - want_error_code: eval_builtin_error - want_error: 'time outside of valid range' + - note: time/parse_rfc3339_nanos + modules: + - | + package generated + + p[t] = ns { + t = input.cases[_] + time.parse_rfc3339_ns(t, ns) + } + query: data.generated.p = x + input: { cases: [ + "1677-09-21T00:12:43.145224192-00:00", # Earliest valid time + "1970-01-01T00:00:00-00:00", + "2017-06-02T19:00:00-07:00", + "2262-04-11T23:47:16.854775807-00:00", # Latest valid time + ] } + want_result: + - x: + { + "1677-09-21T00:12:43.145224192-00:00": -9223372036854775808, + "1970-01-01T00:00:00-00:00": 0, + "2017-06-02T19:00:00-07:00": 1496455200000000000, + "2262-04-11T23:47:16.854775807-00:00": 9223372036854775807, + } + - note: time/parse_rfc3339_nanos_too_small + modules: + - | + package generated + + p = ns { + time.parse_rfc3339_ns("1677-09-21T00:12:43.145224191-00:00", ns) + } + query: data.generated.p = x + strict_error: true + want_error_code: eval_builtin_error + want_error: "time outside of valid range" + - note: time/parse_rfc3339_nanos_too_large + modules: + - | + package generated + + p = ns { + time.parse_rfc3339_ns("2262-04-11T23:47:16.854775808-00:00", ns) + } + query: data.generated.p = x + strict_error: true + want_error_code: eval_builtin_error + want_error: "time outside of valid range" diff --git a/test/cases/testdata/time/test-time-0950.yaml b/test/cases/testdata/time/test-time-0950.yaml index 2cdf84e0c1..30ea7b5ed7 100644 --- a/test/cases/testdata/time/test-time-0950.yaml +++ b/test/cases/testdata/time/test-time-0950.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = ns { - time.parse_duration_ns("100ms", ns) - } - note: time/parse duration nanos - query: data.generated.p = x - want_result: - - x: 100000000 + p = ns { + time.parse_duration_ns("100ms", ns) + } + note: time/parse duration nanos + query: data.generated.p = x + want_result: + - x: 100000000 diff --git a/test/cases/testdata/time/test-time-0951.yaml b/test/cases/testdata/time/test-time-0951.yaml index 8cebcc899d..22d8e8492a 100644 --- a/test/cases/testdata/time/test-time-0951.yaml +++ b/test/cases/testdata/time/test-time-0951.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [__local0__, __local1__, __local2__] { - __local3__ = 1517814000 * 1000 - __local4__ = __local3__ * 1000 - __local5__ = __local4__ * 1000 - time.date(__local5__, __local6__) - [__local0__, __local1__, __local2__] = __local6__ - } - note: time/date - query: data.generated.p = x - want_result: - - x: - - 2018 - - 2 - - 5 + p = [__local0__, __local1__, __local2__] { + __local3__ = 1517814000 * 1000 + __local4__ = __local3__ * 1000 + __local5__ = __local4__ * 1000 + time.date(__local5__, __local6__) + [__local0__, __local1__, __local2__] = __local6__ + } + note: time/date + query: data.generated.p = x + want_result: + - x: + - 2018 + - 2 + - 5 diff --git a/test/cases/testdata/time/test-time-0952.yaml b/test/cases/testdata/time/test-time-0952.yaml index 5f1492c7c2..f4b20fd5f6 100644 --- a/test/cases/testdata/time/test-time-0952.yaml +++ b/test/cases/testdata/time/test-time-0952.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [__local0__, __local1__, __local2__] { - __local3__ = 1517814000 * 1000 - __local4__ = __local3__ * 1000 - __local5__ = __local4__ * 1000 - time.date([__local5__, "America/Los_Angeles"], __local6__) - [__local0__, __local1__, __local2__] = __local6__ - } - note: time/date with LA tz - query: data.generated.p = x - want_result: - - x: - - 2018 - - 2 - - 4 + p = [__local0__, __local1__, __local2__] { + __local3__ = 1517814000 * 1000 + __local4__ = __local3__ * 1000 + __local5__ = __local4__ * 1000 + time.date([__local5__, "America/Los_Angeles"], __local6__) + [__local0__, __local1__, __local2__] = __local6__ + } + note: time/date with LA tz + query: data.generated.p = x + want_result: + - x: + - 2018 + - 2 + - 4 diff --git a/test/cases/testdata/time/test-time-0953.yaml b/test/cases/testdata/time/test-time-0953.yaml index 82a3778f01..e17c1d5b08 100644 --- a/test/cases/testdata/time/test-time-0953.yaml +++ b/test/cases/testdata/time/test-time-0953.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [__local0__, __local1__, __local2__] { - __local3__ = 1517832000 * 1000 - __local4__ = __local3__ * 1000 - __local5__ = __local4__ * 1000 - time.date([__local5__, ""], __local6__) - [__local0__, __local1__, __local2__] = __local6__ - } - note: time/date with empty tz - query: data.generated.p = x - want_result: - - x: - - 2018 - - 2 - - 5 + p = [__local0__, __local1__, __local2__] { + __local3__ = 1517832000 * 1000 + __local4__ = __local3__ * 1000 + __local5__ = __local4__ * 1000 + time.date([__local5__, ""], __local6__) + [__local0__, __local1__, __local2__] = __local6__ + } + note: time/date with empty tz + query: data.generated.p = x + want_result: + - x: + - 2018 + - 2 + - 5 diff --git a/test/cases/testdata/time/test-time-0954.yaml b/test/cases/testdata/time/test-time-0954.yaml index fe9c061fb8..7343dac41d 100644 --- a/test/cases/testdata/time/test-time-0954.yaml +++ b/test/cases/testdata/time/test-time-0954.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [__local0__, __local1__, __local2__] { - __local3__ = 1582977600 * 1000 - __local4__ = __local3__ * 1000 - __local5__ = __local4__ * 1000 - time.date(__local5__, __local6__) - [__local0__, __local1__, __local2__] = __local6__ - } - note: time/date leap day - query: data.generated.p = x - want_result: - - x: - - 2020 - - 2 - - 29 + p = [__local0__, __local1__, __local2__] { + __local3__ = 1582977600 * 1000 + __local4__ = __local3__ * 1000 + __local5__ = __local4__ * 1000 + time.date(__local5__, __local6__) + [__local0__, __local1__, __local2__] = __local6__ + } + note: time/date leap day + query: data.generated.p = x + want_result: + - x: + - 2020 + - 2 + - 29 diff --git a/test/cases/testdata/time/test-time-0955.yaml b/test/cases/testdata/time/test-time-0955.yaml index 70acec1687..f271b2bab5 100644 --- a/test/cases/testdata/time/test-time-0955.yaml +++ b/test/cases/testdata/time/test-time-0955.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [__local0__, __local1__, __local2__] { - __local3__ = 1582977600 * 1000 - __local4__ = __local3__ * 1000 - __local5__ = __local4__ * 1000 - __local6__ = __local5__ * 1000 - time.date(__local6__, __local7__) - [__local0__, __local1__, __local2__] = __local7__ - } - note: time/date too big - query: data.generated.p = x - want_error: timestamp too big - want_error_code: eval_builtin_error - strict_error: true + p = [__local0__, __local1__, __local2__] { + __local3__ = 1582977600 * 1000 + __local4__ = __local3__ * 1000 + __local5__ = __local4__ * 1000 + __local6__ = __local5__ * 1000 + time.date(__local6__, __local7__) + [__local0__, __local1__, __local2__] = __local7__ + } + note: time/date too big + query: data.generated.p = x + want_error: timestamp too big + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/time/test-time-0956.yaml b/test/cases/testdata/time/test-time-0956.yaml index 3e91879d55..3023344f92 100644 --- a/test/cases/testdata/time/test-time-0956.yaml +++ b/test/cases/testdata/time/test-time-0956.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [__local0__, __local1__, __local2__] { - __local3__ = 1517832000 * 1000 - __local4__ = __local3__ * 1000 - __local5__ = __local4__ * 1000 - time.clock(__local5__, __local6__) - [__local0__, __local1__, __local2__] = __local6__ - } - note: time/clock - query: data.generated.p = x - want_result: - - x: - - 12 - - 0 - - 0 + p = [__local0__, __local1__, __local2__] { + __local3__ = 1517832000 * 1000 + __local4__ = __local3__ * 1000 + __local5__ = __local4__ * 1000 + time.clock(__local5__, __local6__) + [__local0__, __local1__, __local2__] = __local6__ + } + note: time/clock + query: data.generated.p = x + want_result: + - x: + - 12 + - 0 + - 0 diff --git a/test/cases/testdata/time/test-time-0957.yaml b/test/cases/testdata/time/test-time-0957.yaml index edf87f4ec7..17521f02a7 100644 --- a/test/cases/testdata/time/test-time-0957.yaml +++ b/test/cases/testdata/time/test-time-0957.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [__local0__, __local1__, __local2__] { - __local3__ = 1517832000 * 1000 - __local4__ = __local3__ * 1000 - __local5__ = __local4__ * 1000 - time.clock([__local5__, "America/New_York"], __local6__) - [__local0__, __local1__, __local2__] = __local6__ - } - note: time/clock with NY tz - query: data.generated.p = x - want_result: - - x: - - 7 - - 0 - - 0 + p = [__local0__, __local1__, __local2__] { + __local3__ = 1517832000 * 1000 + __local4__ = __local3__ * 1000 + __local5__ = __local4__ * 1000 + time.clock([__local5__, "America/New_York"], __local6__) + [__local0__, __local1__, __local2__] = __local6__ + } + note: time/clock with NY tz + query: data.generated.p = x + want_result: + - x: + - 7 + - 0 + - 0 diff --git a/test/cases/testdata/time/test-time-0958.yaml b/test/cases/testdata/time/test-time-0958.yaml index ec7b2e06b3..df749d8e43 100644 --- a/test/cases/testdata/time/test-time-0958.yaml +++ b/test/cases/testdata/time/test-time-0958.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [__local0__, __local1__, __local2__] { - __local3__ = 1582977600 * 1000 - __local4__ = __local3__ * 1000 - __local5__ = __local4__ * 1000 - time.clock(__local5__, __local6__) - [__local0__, __local1__, __local2__] = __local6__ - } - note: time/clock leap day - query: data.generated.p = x - want_result: - - x: - - 12 - - 0 - - 0 + p = [__local0__, __local1__, __local2__] { + __local3__ = 1582977600 * 1000 + __local4__ = __local3__ * 1000 + __local5__ = __local4__ * 1000 + time.clock(__local5__, __local6__) + [__local0__, __local1__, __local2__] = __local6__ + } + note: time/clock leap day + query: data.generated.p = x + want_result: + - x: + - 12 + - 0 + - 0 diff --git a/test/cases/testdata/time/test-time-0959.yaml b/test/cases/testdata/time/test-time-0959.yaml index b1877cb550..5d44268d93 100644 --- a/test/cases/testdata/time/test-time-0959.yaml +++ b/test/cases/testdata/time/test-time-0959.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [__local0__, __local1__, __local2__] { - __local3__ = 1582977600 * 1000 - __local4__ = __local3__ * 1000 - __local5__ = __local4__ * 1000 - __local6__ = __local5__ * 1000 - time.clock(__local6__, __local7__) - [__local0__, __local1__, __local2__] = __local7__ - } - note: time/clock too big - query: data.generated.p = x - want_error: timestamp too big - want_error_code: eval_builtin_error - strict_error: true + p = [__local0__, __local1__, __local2__] { + __local3__ = 1582977600 * 1000 + __local4__ = __local3__ * 1000 + __local5__ = __local4__ * 1000 + __local6__ = __local5__ * 1000 + time.clock(__local6__, __local7__) + [__local0__, __local1__, __local2__] = __local7__ + } + note: time/clock too big + query: data.generated.p = x + want_error: timestamp too big + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/time/test-time-0960.yaml b/test/cases/testdata/time/test-time-0960.yaml index d3be511288..b9a3993fdd 100644 --- a/test/cases/testdata/time/test-time-0960.yaml +++ b/test/cases/testdata/time/test-time-0960.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - time.weekday(1517832000000000000, __local1__) - __local0__ = __local1__ - } - note: time/weekday - query: data.generated.p = x - want_result: - - x: Monday + p = __local0__ { + time.weekday(1517832000000000000, __local1__) + __local0__ = __local1__ + } + note: time/weekday + query: data.generated.p = x + want_result: + - x: Monday diff --git a/test/cases/testdata/time/test-time-0961.yaml b/test/cases/testdata/time/test-time-0961.yaml index 8bb70c4299..1d9ea4c6ea 100644 --- a/test/cases/testdata/time/test-time-0961.yaml +++ b/test/cases/testdata/time/test-time-0961.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - time.weekday(1517918400000000000, __local1__) - __local0__ = __local1__ - } - note: time/weekday - query: data.generated.p = x - want_result: - - x: Tuesday + p = __local0__ { + time.weekday(1517918400000000000, __local1__) + __local0__ = __local1__ + } + note: time/weekday + query: data.generated.p = x + want_result: + - x: Tuesday diff --git a/test/cases/testdata/time/test-time-0962.yaml b/test/cases/testdata/time/test-time-0962.yaml index a192f3622e..bb0159e751 100644 --- a/test/cases/testdata/time/test-time-0962.yaml +++ b/test/cases/testdata/time/test-time-0962.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - time.weekday(1518004800000000000, __local1__) - __local0__ = __local1__ - } - note: time/weekday - query: data.generated.p = x - want_result: - - x: Wednesday + p = __local0__ { + time.weekday(1518004800000000000, __local1__) + __local0__ = __local1__ + } + note: time/weekday + query: data.generated.p = x + want_result: + - x: Wednesday diff --git a/test/cases/testdata/time/test-time-0963.yaml b/test/cases/testdata/time/test-time-0963.yaml index 7d636e0101..9c05729728 100644 --- a/test/cases/testdata/time/test-time-0963.yaml +++ b/test/cases/testdata/time/test-time-0963.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - time.weekday(1518091200000000000, __local1__) - __local0__ = __local1__ - } - note: time/weekday - query: data.generated.p = x - want_result: - - x: Thursday + p = __local0__ { + time.weekday(1518091200000000000, __local1__) + __local0__ = __local1__ + } + note: time/weekday + query: data.generated.p = x + want_result: + - x: Thursday diff --git a/test/cases/testdata/time/test-time-0964.yaml b/test/cases/testdata/time/test-time-0964.yaml index 8eddb47f45..96882aebd4 100644 --- a/test/cases/testdata/time/test-time-0964.yaml +++ b/test/cases/testdata/time/test-time-0964.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - time.weekday(1518177600000000000, __local1__) - __local0__ = __local1__ - } - note: time/weekday - query: data.generated.p = x - want_result: - - x: Friday + p = __local0__ { + time.weekday(1518177600000000000, __local1__) + __local0__ = __local1__ + } + note: time/weekday + query: data.generated.p = x + want_result: + - x: Friday diff --git a/test/cases/testdata/time/test-time-0965.yaml b/test/cases/testdata/time/test-time-0965.yaml index c10c2b07dd..d2ed4ea7ab 100644 --- a/test/cases/testdata/time/test-time-0965.yaml +++ b/test/cases/testdata/time/test-time-0965.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - time.weekday(1518264000000000000, __local1__) - __local0__ = __local1__ - } - note: time/weekday - query: data.generated.p = x - want_result: - - x: Saturday + p = __local0__ { + time.weekday(1518264000000000000, __local1__) + __local0__ = __local1__ + } + note: time/weekday + query: data.generated.p = x + want_result: + - x: Saturday diff --git a/test/cases/testdata/time/test-time-0966.yaml b/test/cases/testdata/time/test-time-0966.yaml index faa38a5583..efce11d37b 100644 --- a/test/cases/testdata/time/test-time-0966.yaml +++ b/test/cases/testdata/time/test-time-0966.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = __local0__ { - time.weekday(1518350400000000000, __local1__) - __local0__ = __local1__ - } - note: time/weekday - query: data.generated.p = x - want_result: - - x: Sunday + p = __local0__ { + time.weekday(1518350400000000000, __local1__) + __local0__ = __local1__ + } + note: time/weekday + query: data.generated.p = x + want_result: + - x: Sunday diff --git a/test/cases/testdata/time/test-time-0967.yaml b/test/cases/testdata/time/test-time-0967.yaml index 9d5f026500..72b503a3a4 100644 --- a/test/cases/testdata/time/test-time-0967.yaml +++ b/test/cases/testdata/time/test-time-0967.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = __local0__ { - __local1__ = 1582977600 * 1000 - __local2__ = __local1__ * 1000 - __local3__ = __local2__ * 1000 - __local4__ = __local3__ * 1000 - time.weekday(__local4__, __local5__) - __local0__ = __local5__ - } - note: time/weekday too big - query: data.generated.p = x - want_error: timestamp too big - want_error_code: eval_builtin_error - strict_error: true + p = __local0__ { + __local1__ = 1582977600 * 1000 + __local2__ = __local1__ * 1000 + __local3__ = __local2__ * 1000 + __local4__ = __local3__ * 1000 + time.weekday(__local4__, __local5__) + __local0__ = __local5__ + } + note: time/weekday too big + query: data.generated.p = x + want_error: timestamp too big + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/time/test-time-0968.yaml b/test/cases/testdata/time/test-time-0968.yaml index f7196da07d..303d772f54 100644 --- a/test/cases/testdata/time/test-time-0968.yaml +++ b/test/cases/testdata/time/test-time-0968.yaml @@ -1,26 +1,27 @@ +--- cases: -- note: time/add_date year month day - modules: - - | - package generated + - note: time/add_date year month day + modules: + - | + package generated - p = __local0__ { - time.add_date(1585852421593912000, 3, 9, 12, __local1__) - __local0__ = __local1__ - } + p = __local0__ { + time.add_date(1585852421593912000, 3, 9, 12, __local1__) + __local0__ = __local1__ + } - query: data.generated.p = x - want_result: - - x: 1705257221593912000 -- note: time/add_date too large result - modules: - - | - package generated - - p = ns { - time.add_date(0, 2262, 1, 1, ns) - } - query: data.generated.p = x - strict_error: true - want_error_code: eval_builtin_error - want_error: 'time outside of valid range' \ No newline at end of file + query: data.generated.p = x + want_result: + - x: 1705257221593912000 + - note: time/add_date too large result + modules: + - | + package generated + + p = ns { + time.add_date(0, 2262, 1, 1, ns) + } + query: data.generated.p = x + strict_error: true + want_error_code: eval_builtin_error + want_error: "time outside of valid range" diff --git a/test/cases/testdata/time/test-time-0969.yaml b/test/cases/testdata/time/test-time-0969.yaml index 09929f4ff9..7822966384 100644 --- a/test/cases/testdata/time/test-time-0969.yaml +++ b/test/cases/testdata/time/test-time-0969.yaml @@ -1,25 +1,26 @@ +--- cases: -- note: time/add_date negative values - modules: - - | - package generated + - note: time/add_date negative values + modules: + - | + package generated - p = __local0__ { - time.add_date(1585852421593912000, -1, -1, -1, __local1__) - __local0__ = __local1__ - } - query: data.generated.p = x - want_result: - - x: 1551465221593912000 -- note: time/add_date too small result - modules: - - | - package generated - - p = ns { - time.add_date(-9223372036854775808, 0, 0, -1, ns) - } - query: data.generated.p = x - strict_error: true - want_error_code: eval_builtin_error - want_error: 'time outside of valid range' + p = __local0__ { + time.add_date(1585852421593912000, -1, -1, -1, __local1__) + __local0__ = __local1__ + } + query: data.generated.p = x + want_result: + - x: 1551465221593912000 + - note: time/add_date too small result + modules: + - | + package generated + + p = ns { + time.add_date(-9223372036854775808, 0, 0, -1, ns) + } + query: data.generated.p = x + strict_error: true + want_error_code: eval_builtin_error + want_error: "time outside of valid range" diff --git a/test/cases/testdata/time/test-time-0970.yaml b/test/cases/testdata/time/test-time-0970.yaml index a13840e105..daa2cb4913 100644 --- a/test/cases/testdata/time/test-time-0970.yaml +++ b/test/cases/testdata/time/test-time-0970.yaml @@ -1,41 +1,42 @@ +--- cases: -- data: - modules: - - | - package test + - data: + modules: + - | + package test - layout := "2006-01-02" + layout := "2006-01-02" - a = minute_second { - minute_second := time.diff(time.now_ns()+61*1000*1000*1000, time.now_ns()) - } + a = minute_second { + minute_second := time.diff(time.now_ns()+61*1000*1000*1000, time.now_ns()) + } - b = different_tz { - different_tz := time.diff([time.now_ns()+60*1000*1000*1000, "UTC"], [time.now_ns(), "Asia/Shanghai"]) - } + b = different_tz { + different_tz := time.diff([time.now_ns()+60*1000*1000*1000, "UTC"], [time.now_ns(), "Asia/Shanghai"]) + } - c = leap_year { - leap_year := time.diff(time.parse_ns(layout, "2020-02-02"), time.parse_ns(layout, "2020-03-01")) - } + c = leap_year { + leap_year := time.diff(time.parse_ns(layout, "2020-02-02"), time.parse_ns(layout, "2020-03-01")) + } - d = not_leap_year { - not_leap_year := time.diff(time.parse_ns(layout, "2021-02-02"), time.parse_ns(layout, "2021-03-01")) - } + d = not_leap_year { + not_leap_year := time.diff(time.parse_ns(layout, "2021-02-02"), time.parse_ns(layout, "2021-03-01")) + } - e = leap_year_one_day { - leap_year_one_day := time.diff(time.parse_ns(layout, "2004-02-29"), time.parse_ns(layout, "2005-03-01")) - } + e = leap_year_one_day { + leap_year_one_day := time.diff(time.parse_ns(layout, "2004-02-29"), time.parse_ns(layout, "2005-03-01")) + } - note: time/diff - query: > - data.test.a = minute_second; - data.test.b = different_tz; - data.test.c = leap_year; - data.test.d = not_leap_year; - data.test.e = leap_year_one_day - want_result: - - minute_second: [0,0,0,0,1,1] - different_tz: [0,0,0,0,1,0] - leap_year: [0,0,28,0,0,0] - not_leap_year: [0,0,27,0,0,0] - leap_year_one_day: [1,0,1,0,0,0] + note: time/diff + query: > + data.test.a = minute_second; + data.test.b = different_tz; + data.test.c = leap_year; + data.test.d = not_leap_year; + data.test.e = leap_year_one_day + want_result: + - minute_second: [0, 0, 0, 0, 1, 1] + different_tz: [0, 0, 0, 0, 1, 0] + leap_year: [0, 0, 28, 0, 0, 0] + not_leap_year: [0, 0, 27, 0, 0, 0] + leap_year_one_day: [1, 0, 1, 0, 0, 0] diff --git a/test/cases/testdata/time/test-time-0971.yaml b/test/cases/testdata/time/test-time-0971.yaml index b28ce66ca6..08cf568d7f 100644 --- a/test/cases/testdata/time/test-time-0971.yaml +++ b/test/cases/testdata/time/test-time-0971.yaml @@ -1,39 +1,40 @@ +--- cases: -- data: - modules: - - | - package test - - time_ns := 1670006453141828752 - - a := time.format(time_ns) - - b := time.format([time_ns, "Asia/Kolkata"]) - - c := time.format([time_ns,"Asia/Kolkata","Mon Jan 02 15:04:05 -0700 2006"]) - - d := time.format([time_ns,"Asia/Kolkata","RFC1123Z"]) - - note: time/format - query: > - data.test.a = no_timezone; - data.test.b = with_timezone; - data.test.c = with_layout; - data.test.d = with_constant - want_result: - - no_timezone: "2022-12-02T18:40:53.141828752Z" - with_timezone: "2022-12-03T00:10:53.141828752+05:30" - with_layout: "Sat Dec 03 00:10:53 +0530 2022" - with_constant: "Sat, 03 Dec 2022 00:10:53 +0530" -- data: - modules: - - | - package generated - - p := time.format(1582977600 * 10e12) - - note: time/format too big - query: data.generated.p = x - want_error: timestamp too big - want_error_code: eval_builtin_error - strict_error: true + - data: + modules: + - | + package test + + time_ns := 1670006453141828752 + + a := time.format(time_ns) + + b := time.format([time_ns, "Asia/Kolkata"]) + + c := time.format([time_ns,"Asia/Kolkata","Mon Jan 02 15:04:05 -0700 2006"]) + + d := time.format([time_ns,"Asia/Kolkata","RFC1123Z"]) + + note: time/format + query: > + data.test.a = no_timezone; + data.test.b = with_timezone; + data.test.c = with_layout; + data.test.d = with_constant + want_result: + - no_timezone: "2022-12-02T18:40:53.141828752Z" + with_timezone: "2022-12-03T00:10:53.141828752+05:30" + with_layout: "Sat Dec 03 00:10:53 +0530 2022" + with_constant: "Sat, 03 Dec 2022 00:10:53 +0530" + - data: + modules: + - | + package generated + + p := time.format(1582977600 * 10e12) + + note: time/format too big + query: data.generated.p = x + want_error: timestamp too big + want_error_code: eval_builtin_error + strict_error: true diff --git a/test/cases/testdata/toarray/test-toarray-0071.yaml b/test/cases/testdata/toarray/test-toarray-0071.yaml index 37dcfc8a12..03dd253f82 100644 --- a/test/cases/testdata/toarray/test-toarray-0071.yaml +++ b/test/cases/testdata/toarray/test-toarray-0071.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - cast_array([1, 2, 3], x) - } - note: toarray/array input - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 - - 3 + p = x { + cast_array([1, 2, 3], x) + } + note: toarray/array input + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/toarray/test-toarray-0072.yaml b/test/cases/testdata/toarray/test-toarray-0072.yaml index 5079efc1eb..6526f855ae 100644 --- a/test/cases/testdata/toarray/test-toarray-0072.yaml +++ b/test/cases/testdata/toarray/test-toarray-0072.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - cast_array({1, 2, 3}, x) - } - note: toarray/set input - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 - - 3 + p = x { + cast_array({1, 2, 3}, x) + } + note: toarray/set input + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/toarray/test-toarray-0073.yaml b/test/cases/testdata/toarray/test-toarray-0073.yaml index c29f45b2a9..449c3899ab 100644 --- a/test/cases/testdata/toarray/test-toarray-0073.yaml +++ b/test/cases/testdata/toarray/test-toarray-0073.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - cast_array("hello", x) - } - note: toarray/bad type - query: data.generated.p = x - want_error: operand 1 must be one of {array, set} - want_error_code: eval_type_error - strict_error: true + p = x { + cast_array("hello", x) + } + note: toarray/bad type + query: data.generated.p = x + want_error: operand 1 must be one of {array, set} + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/topdowndynamicdispatch/test-topdowndynamicdispatch-1068.yaml b/test/cases/testdata/topdowndynamicdispatch/test-topdowndynamicdispatch-1068.yaml index 6e0f8eaa56..f64690f99a 100644 --- a/test/cases/testdata/topdowndynamicdispatch/test-topdowndynamicdispatch-1068.yaml +++ b/test/cases/testdata/topdowndynamicdispatch/test-topdowndynamicdispatch-1068.yaml @@ -1,32 +1,33 @@ +--- cases: -- data: {} - input_term: '{}' - modules: - - | - package animals + - data: {} + input_term: "{}" + modules: + - | + package animals - dog = "woof" + dog = "woof" - cat = "meow" - - | - package dynamic + cat = "meow" + - | + package dynamic - sound = __local0__ { - true - __local1__ = data.dynamic.animal - __local0__ = data.animals[__local1__] - } + sound = __local0__ { + true + __local1__ = data.dynamic.animal + __local0__ = data.animals[__local1__] + } - animal = "dog" { - 2 > 1 - } - note: topdowndynamicdispatch/dynamic dispatch - query: data = x - want_result: - - x: - animals: - cat: meow - dog: woof - dynamic: - animal: dog - sound: woof + animal = "dog" { + 2 > 1 + } + note: topdowndynamicdispatch/dynamic dispatch + query: data = x + want_result: + - x: + animals: + cat: meow + dog: woof + dynamic: + animal: dog + sound: woof diff --git a/test/cases/testdata/toset/test-toset-0074.yaml b/test/cases/testdata/toset/test-toset-0074.yaml index c71381189b..3424ac3e88 100644 --- a/test/cases/testdata/toset/test-toset-0074.yaml +++ b/test/cases/testdata/toset/test-toset-0074.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - cast_set([1, 1, 1], x) - } - note: toset/array input - query: data.generated.p = x - want_result: - - x: - - 1 + p = x { + cast_set([1, 1, 1], x) + } + note: toset/array input + query: data.generated.p = x + want_result: + - x: + - 1 diff --git a/test/cases/testdata/toset/test-toset-0075.yaml b/test/cases/testdata/toset/test-toset-0075.yaml index fe65d6485b..3cb52e6cfa 100644 --- a/test/cases/testdata/toset/test-toset-0075.yaml +++ b/test/cases/testdata/toset/test-toset-0075.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - cast_set({1, 2, 3}, x) - } - note: toset/set input - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 - - 3 + p = x { + cast_set({1, 2, 3}, x) + } + note: toset/set input + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/toset/test-toset-0076.yaml b/test/cases/testdata/toset/test-toset-0076.yaml index 919b273fe8..d8c3404ea8 100644 --- a/test/cases/testdata/toset/test-toset-0076.yaml +++ b/test/cases/testdata/toset/test-toset-0076.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - cast_set("hello", x) - } - note: toset/bad type - query: data.generated.p = x - want_error: operand 1 must be one of {array, set} - want_error_code: eval_type_error - strict_error: true + p = x { + cast_set("hello", x) + } + note: toset/bad type + query: data.generated.p = x + want_error: operand 1 must be one of {array, set} + want_error_code: eval_type_error + strict_error: true diff --git a/test/cases/testdata/trim/test-trim-0362.yaml b/test/cases/testdata/trim/test-trim-0362.yaml index 60572b3619..d275ab3636 100644 --- a/test/cases/testdata/trim/test-trim-0362.yaml +++ b/test/cases/testdata/trim/test-trim-0362.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim("¡¡¡foo, bar!!!", "!¡", __local1__) - __local0__ = __local1__ - } - note: trim/trims '!¡' from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - foo, bar + p[__local0__] { + trim("¡¡¡foo, bar!!!", "!¡", __local1__) + __local0__ = __local1__ + } + note: trim/trims '!¡' from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - foo, bar diff --git a/test/cases/testdata/trim/test-trim-0363.yaml b/test/cases/testdata/trim/test-trim-0363.yaml index 6b7d5752c3..76a6a970c2 100644 --- a/test/cases/testdata/trim/test-trim-0363.yaml +++ b/test/cases/testdata/trim/test-trim-0363.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim("¡¡¡foo, bar!!!", "i", __local1__) - __local0__ = __local1__ - } - note: trim/trims nothing from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - ¡¡¡foo, bar!!! + p[__local0__] { + trim("¡¡¡foo, bar!!!", "i", __local1__) + __local0__ = __local1__ + } + note: trim/trims nothing from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - ¡¡¡foo, bar!!! diff --git a/test/cases/testdata/trimleft/test-trimleft-0364.yaml b/test/cases/testdata/trimleft/test-trimleft-0364.yaml index b349e3e444..27a80bd5c9 100644 --- a/test/cases/testdata/trimleft/test-trimleft-0364.yaml +++ b/test/cases/testdata/trimleft/test-trimleft-0364.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim_left("¡¡¡foo, bar!!!", "!¡", __local1__) - __local0__ = __local1__ - } - note: trimleft/trims leading '!¡' from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - foo, bar!!! + p[__local0__] { + trim_left("¡¡¡foo, bar!!!", "!¡", __local1__) + __local0__ = __local1__ + } + note: trimleft/trims leading '!¡' from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - foo, bar!!! diff --git a/test/cases/testdata/trimleft/test-trimleft-0365.yaml b/test/cases/testdata/trimleft/test-trimleft-0365.yaml index f925ace178..94be42eb34 100644 --- a/test/cases/testdata/trimleft/test-trimleft-0365.yaml +++ b/test/cases/testdata/trimleft/test-trimleft-0365.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim_left("!!!foo, bar¡¡¡", "¡", __local1__) - __local0__ = __local1__ - } - note: trimleft/trims nothing from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - '!!!foo, bar¡¡¡' + p[__local0__] { + trim_left("!!!foo, bar¡¡¡", "¡", __local1__) + __local0__ = __local1__ + } + note: trimleft/trims nothing from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - "!!!foo, bar¡¡¡" diff --git a/test/cases/testdata/trimprefix/test-trimprefix-0366.yaml b/test/cases/testdata/trimprefix/test-trimprefix-0366.yaml index 1f7a32b79c..8e7258e990 100644 --- a/test/cases/testdata/trimprefix/test-trimprefix-0366.yaml +++ b/test/cases/testdata/trimprefix/test-trimprefix-0366.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim_prefix("¡¡¡foo, bar!!!", "¡¡¡foo", __local1__) - __local0__ = __local1__ - } - note: trimprefix/trims prefix '!¡' from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - ', bar!!!' + p[__local0__] { + trim_prefix("¡¡¡foo, bar!!!", "¡¡¡foo", __local1__) + __local0__ = __local1__ + } + note: trimprefix/trims prefix '!¡' from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - ", bar!!!" diff --git a/test/cases/testdata/trimprefix/test-trimprefix-0367.yaml b/test/cases/testdata/trimprefix/test-trimprefix-0367.yaml index 993f2f17ad..f94442ce24 100644 --- a/test/cases/testdata/trimprefix/test-trimprefix-0367.yaml +++ b/test/cases/testdata/trimprefix/test-trimprefix-0367.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim_prefix("¡¡¡foo, bar!!!", "¡¡¡bar", __local1__) - __local0__ = __local1__ - } - note: trimprefix/trims nothing from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - ¡¡¡foo, bar!!! + p[__local0__] { + trim_prefix("¡¡¡foo, bar!!!", "¡¡¡bar", __local1__) + __local0__ = __local1__ + } + note: trimprefix/trims nothing from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - ¡¡¡foo, bar!!! diff --git a/test/cases/testdata/trimright/test-trimright-0368.yaml b/test/cases/testdata/trimright/test-trimright-0368.yaml index 78e3eac790..2b1da70411 100644 --- a/test/cases/testdata/trimright/test-trimright-0368.yaml +++ b/test/cases/testdata/trimright/test-trimright-0368.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim_right("¡¡¡foo, bar!!!", "!¡", __local1__) - __local0__ = __local1__ - } - note: trimright/trims trailing '!¡' from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - ¡¡¡foo, bar + p[__local0__] { + trim_right("¡¡¡foo, bar!!!", "!¡", __local1__) + __local0__ = __local1__ + } + note: trimright/trims trailing '!¡' from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - ¡¡¡foo, bar diff --git a/test/cases/testdata/trimright/test-trimright-0369.yaml b/test/cases/testdata/trimright/test-trimright-0369.yaml index ded2aae686..e1d7f34b91 100644 --- a/test/cases/testdata/trimright/test-trimright-0369.yaml +++ b/test/cases/testdata/trimright/test-trimright-0369.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim_right("!!!foo, bar¡¡¡", "!", __local1__) - __local0__ = __local1__ - } - note: trimright/trims nothing from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - '!!!foo, bar¡¡¡' + p[__local0__] { + trim_right("!!!foo, bar¡¡¡", "!", __local1__) + __local0__ = __local1__ + } + note: trimright/trims nothing from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - "!!!foo, bar¡¡¡" diff --git a/test/cases/testdata/trimspace/test-trimspace-0372.yaml b/test/cases/testdata/trimspace/test-trimspace-0372.yaml index 2027042395..3e81ee801d 100644 --- a/test/cases/testdata/trimspace/test-trimspace-0372.yaml +++ b/test/cases/testdata/trimspace/test-trimspace-0372.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim_space(" \t\n foo, bar \n\t\r\n", __local1__) - __local0__ = __local1__ - } - note: trimspace/trims all leading and trailing white space from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - foo, bar + p[__local0__] { + trim_space(" \t\n foo, bar \n\t\r\n", __local1__) + __local0__ = __local1__ + } + note: trimspace/trims all leading and trailing white space from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - foo, bar diff --git a/test/cases/testdata/trimspace/test-trimspace-0373.yaml b/test/cases/testdata/trimspace/test-trimspace-0373.yaml index 6f806796cb..fcaf5fe181 100644 --- a/test/cases/testdata/trimspace/test-trimspace-0373.yaml +++ b/test/cases/testdata/trimspace/test-trimspace-0373.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim_space("foo, bar", __local1__) - __local0__ = __local1__ - } - note: trimspace/trims nothing from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - foo, bar + p[__local0__] { + trim_space("foo, bar", __local1__) + __local0__ = __local1__ + } + note: trimspace/trims nothing from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - foo, bar diff --git a/test/cases/testdata/trimsuffix/test-trimsuffix-0370.yaml b/test/cases/testdata/trimsuffix/test-trimsuffix-0370.yaml index 5ae9f6852c..58f6db6769 100644 --- a/test/cases/testdata/trimsuffix/test-trimsuffix-0370.yaml +++ b/test/cases/testdata/trimsuffix/test-trimsuffix-0370.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim_suffix("¡¡¡foo, bar!!!", ", bar!!!", __local1__) - __local0__ = __local1__ - } - note: trimsuffix/trims suffix '!¡' from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - ¡¡¡foo + p[__local0__] { + trim_suffix("¡¡¡foo, bar!!!", ", bar!!!", __local1__) + __local0__ = __local1__ + } + note: trimsuffix/trims suffix '!¡' from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - ¡¡¡foo diff --git a/test/cases/testdata/trimsuffix/test-trimsuffix-0371.yaml b/test/cases/testdata/trimsuffix/test-trimsuffix-0371.yaml index a6ed2bb335..394b553e38 100644 --- a/test/cases/testdata/trimsuffix/test-trimsuffix-0371.yaml +++ b/test/cases/testdata/trimsuffix/test-trimsuffix-0371.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[__local0__] { - trim_suffix("¡¡¡foo, bar!!!", ", foo!!!", __local1__) - __local0__ = __local1__ - } - note: trimsuffix/trims nothing from string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - ¡¡¡foo, bar!!! + p[__local0__] { + trim_suffix("¡¡¡foo, bar!!!", ", foo!!!", __local1__) + __local0__ = __local1__ + } + note: trimsuffix/trims nothing from string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - ¡¡¡foo, bar!!! diff --git a/test/cases/testdata/type/test-regressions.yaml b/test/cases/testdata/type/test-regressions.yaml index 36317842bd..77d97bd6d5 100644 --- a/test/cases/testdata/type/test-regressions.yaml +++ b/test/cases/testdata/type/test-regressions.yaml @@ -1,88 +1,89 @@ +--- cases: -- note: regression/partial-object override, different key type, query - modules: - - | - package test - - p[k] := v { - v := ["a", "b", "c"][k] - } - - p.foo := "bar" - query: data.test.p.foo = x - want_result: - - x: "bar" -- note: regression/partial-object override, different key type, referenced in other rule - modules: - - | - package test - - p[k] := v { - v := ["a", "b", "c"][k] - } - - p.foo := "bar" - - q[x] { - x := p[_] - x == "bar" - } - query: data.test.q = x - want_result: - - x: ["bar"] -- note: regression/dynamic object to static object comparison (https://github.com/open-policy-agent/opa/issues/6138) - modules: - - | - package test - - import future.keywords - - l := ["a", "b", "c"] - - obj[k] := v { - v := ["a", "b", "c"][k] - k < 3 - } - - obj[k] := v { - v := input.m[k] - } + - note: regression/partial-object override, different key type, query + modules: + - | + package test - obj.foo := "bar" { input.foo } - - obj.baz := true { input.baz } - - compare { - # Comparison with static object that doesn't contain "optional" key. - obj == { - 0: "a", - 1: "b", - 2: "c", + p[k] := v { + v := ["a", "b", "c"][k] } - - obj == { - 0: "a", - 1: "b", - 2: "c", - "foo": "bar" - } with input.foo as true - - obj == { - 0: "a", - 1: "b", - 2: "c", - "baz": true - } with input.baz as true - - obj == { - 0: "a", - 1: "b", - 2: "c", - 3: "d", - 4: "e", - 100: "f" - } with input.m as {3: "d", 4: "e", 100: "f"} - } - query: data.test.compare = x - want_result: - - x: true \ No newline at end of file + + p.foo := "bar" + query: data.test.p.foo = x + want_result: + - x: "bar" + - note: regression/partial-object override, different key type, referenced in other rule + modules: + - | + package test + + p[k] := v { + v := ["a", "b", "c"][k] + } + + p.foo := "bar" + + q[x] { + x := p[_] + x == "bar" + } + query: data.test.q = x + want_result: + - x: ["bar"] + - note: regression/dynamic object to static object comparison (https://github.com/open-policy-agent/opa/issues/6138) + modules: + - | + package test + + import future.keywords + + l := ["a", "b", "c"] + + obj[k] := v { + v := ["a", "b", "c"][k] + k < 3 + } + + obj[k] := v { + v := input.m[k] + } + + obj.foo := "bar" { input.foo } + + obj.baz := true { input.baz } + + compare { + # Comparison with static object that doesn't contain "optional" key. + obj == { + 0: "a", + 1: "b", + 2: "c", + } + + obj == { + 0: "a", + 1: "b", + 2: "c", + "foo": "bar" + } with input.foo as true + + obj == { + 0: "a", + 1: "b", + 2: "c", + "baz": true + } with input.baz as true + + obj == { + 0: "a", + 1: "b", + 2: "c", + 3: "d", + 4: "e", + 100: "f" + } with input.m as {3: "d", 4: "e", 100: "f"} + } + query: data.test.compare = x + want_result: + - x: true diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0828.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0828.yaml index 5ac3e9b3bc..7823c93048 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0828.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0828.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - is_number(-42.0, x) - is_number(0, y) - is_number(100.1, z) - } - note: typebuiltin/is_number - query: data.generated.p = x - want_result: - - x: - - true - - true - - true + p = [x, y, z] { + is_number(-42.0, x) + is_number(0, y) + is_number(100.1, z) + } + note: typebuiltin/is_number + query: data.generated.p = x + want_result: + - x: + - true + - true + - true diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0829.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0829.yaml index 82e8472dc0..55242c416b 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0829.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0829.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_number(null, x) - } - note: typebuiltin/is_number - query: data.generated.p = x - want_result: - - x: false + p = x { + is_number(null, x) + } + note: typebuiltin/is_number + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0830.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0830.yaml index 987b368a34..d79efb559b 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0830.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0830.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_number(false, x) - } - note: typebuiltin/is_number - query: data.generated.p = x - want_result: - - x: false + p = x { + is_number(false, x) + } + note: typebuiltin/is_number + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0831.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0831.yaml index 210c9a3f5f..5cb125303d 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0831.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0831.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - arr = [true, 1] - arr[_] = x - is_number(x) - } - note: typebuiltin/is_number - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + p[x] { + arr = [true, 1] + arr[_] = x + is_number(x) + } + note: typebuiltin/is_number + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0832.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0832.yaml index 1838c589b1..e9ae8d92a9 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0832.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0832.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y, z] { - is_string("Hello", x) - is_string("There", y) - is_string("OPA", z) - } - note: typebuiltin/is_string - query: data.generated.p = x - want_result: - - x: - - true - - true - - true + p = [x, y, z] { + is_string("Hello", x) + is_string("There", y) + is_string("OPA", z) + } + note: typebuiltin/is_string + query: data.generated.p = x + want_result: + - x: + - true + - true + - true diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0833.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0833.yaml index 302ab1575e..4abe521530 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0833.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0833.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_string(null, x) - } - note: typebuiltin/is_string - query: data.generated.p = x - want_result: - - x: false + p = x { + is_string(null, x) + } + note: typebuiltin/is_string + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0834.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0834.yaml index fec94667fb..7d61ebd145 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0834.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0834.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_string(false, x) - } - note: typebuiltin/is_string - query: data.generated.p = x - want_result: - - x: false + p = x { + is_string(false, x) + } + note: typebuiltin/is_string + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0835.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0835.yaml index 79bd2ea195..83b6e6da09 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0835.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0835.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - arr = [true, 1, "Hey"] - arr[_] = x - is_string(x) - } - note: typebuiltin/is_string - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - Hey + p[x] { + arr = [true, 1, "Hey"] + arr[_] = x + is_string(x) + } + note: typebuiltin/is_string + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - Hey diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0836.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0836.yaml index 6c85b27ab8..71e7ee78b1 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0836.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0836.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y] { - is_boolean(true, x) - is_boolean(false, y) - } - note: typebuiltin/is_boolean - query: data.generated.p = x - want_result: - - x: - - true - - true + p = [x, y] { + is_boolean(true, x) + is_boolean(false, y) + } + note: typebuiltin/is_boolean + query: data.generated.p = x + want_result: + - x: + - true + - true diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0837.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0837.yaml index 518e208c54..452c2ca345 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0837.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0837.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_boolean(null, x) - } - note: typebuiltin/is_boolean - query: data.generated.p = x - want_result: - - x: false + p = x { + is_boolean(null, x) + } + note: typebuiltin/is_boolean + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0838.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0838.yaml index 4a5e2c8a30..eadf9b15b1 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0838.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0838.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_boolean("Hello", x) - } - note: typebuiltin/is_boolean - query: data.generated.p = x - want_result: - - x: false + p = x { + is_boolean("Hello", x) + } + note: typebuiltin/is_boolean + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0839.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0839.yaml index ec7af28775..4d2323e8bd 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0839.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0839.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - arr = [false, 1, "Hey"] - arr[_] = x - is_boolean(x) - } - note: typebuiltin/is_boolean - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - false + p[x] { + arr = [false, 1, "Hey"] + arr[_] = x + is_boolean(x) + } + note: typebuiltin/is_boolean + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - false diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0840.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0840.yaml index c64bcc4035..0fae54a2f4 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0840.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0840.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y] { - is_array([1, 2, 3], x) - is_array(["a", "b"], y) - } - note: typebuiltin/is_array - query: data.generated.p = x - want_result: - - x: - - true - - true + p = [x, y] { + is_array([1, 2, 3], x) + is_array(["a", "b"], y) + } + note: typebuiltin/is_array + query: data.generated.p = x + want_result: + - x: + - true + - true diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0841.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0841.yaml index 20a3d9156c..2d9ef5c18d 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0841.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0841.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_array({1, 2, 3}, x) - } - note: typebuiltin/is_array - query: data.generated.p = x - want_result: - - x: false + p = x { + is_array({1, 2, 3}, x) + } + note: typebuiltin/is_array + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0842.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0842.yaml index fc051786f0..27f2139159 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0842.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0842.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = [x, y] { - is_set({1, 2, 3}, x) - is_set({"a", "b"}, y) - } - note: typebuiltin/is_set - query: data.generated.p = x - want_result: - - x: - - true - - true + p = [x, y] { + is_set({1, 2, 3}, x) + is_set({"a", "b"}, y) + } + note: typebuiltin/is_set + query: data.generated.p = x + want_result: + - x: + - true + - true diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0843.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0843.yaml index 6f88300274..11e27d5a0b 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0843.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0843.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_set([1, 2, 3], x) - } - note: typebuiltin/is_set - query: data.generated.p = x - want_result: - - x: false + p = x { + is_set([1, 2, 3], x) + } + note: typebuiltin/is_set + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0844.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0844.yaml index ba7adab929..d740632ef3 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0844.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0844.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - __local0__ = {"foo": yy | yy = 1} - is_object(__local0__, x) - } - note: typebuiltin/is_object - query: data.generated.p = x - want_result: - - x: true + p = x { + __local0__ = {"foo": yy | yy = 1} + is_object(__local0__, x) + } + note: typebuiltin/is_object + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0845.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0845.yaml index be13e819b7..4a6381cf78 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0845.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0845.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_object("foo", x) - } - note: typebuiltin/is_object - query: data.generated.p = x - want_result: - - x: false + p = x { + is_object("foo", x) + } + note: typebuiltin/is_object + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0846.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0846.yaml index 741d1a29b4..03e2acae0b 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0846.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0846.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_null(null, x) - } - note: typebuiltin/is_null - query: data.generated.p = x - want_result: - - x: true + p = x { + is_null(null, x) + } + note: typebuiltin/is_null + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/typebuiltin/test-typebuiltin-0847.yaml b/test/cases/testdata/typebuiltin/test-typebuiltin-0847.yaml index 04a3234249..95ffa8e0f7 100644 --- a/test/cases/testdata/typebuiltin/test-typebuiltin-0847.yaml +++ b/test/cases/testdata/typebuiltin/test-typebuiltin-0847.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - is_null(true, x) - } - note: typebuiltin/is_null - query: data.generated.p = x - want_result: - - x: false + p = x { + is_null(true, x) + } + note: typebuiltin/is_null + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0848.yaml b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0848.yaml index d2f147723f..55d2eb4bcb 100644 --- a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0848.yaml +++ b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0848.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - type_name(null, x) - } - note: typenamebuiltin/type_name - query: data.generated.p = x - want_result: - - x: 'null' + p = x { + type_name(null, x) + } + note: typenamebuiltin/type_name + query: data.generated.p = x + want_result: + - x: "null" diff --git a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0849.yaml b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0849.yaml index 7841c9c38e..73682f0ded 100644 --- a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0849.yaml +++ b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0849.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - type_name(true, x) - } - note: typenamebuiltin/type_name - query: data.generated.p = x - want_result: - - x: boolean + p = x { + type_name(true, x) + } + note: typenamebuiltin/type_name + query: data.generated.p = x + want_result: + - x: boolean diff --git a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0850.yaml b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0850.yaml index 5acdfb784d..4c32c99ccd 100644 --- a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0850.yaml +++ b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0850.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - type_name(100, x) - } - note: typenamebuiltin/type_name - query: data.generated.p = x - want_result: - - x: number + p = x { + type_name(100, x) + } + note: typenamebuiltin/type_name + query: data.generated.p = x + want_result: + - x: number diff --git a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0851.yaml b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0851.yaml index efd3dedb2c..af920fb96d 100644 --- a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0851.yaml +++ b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0851.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - type_name("Hello", x) - } - note: typenamebuiltin/type_name - query: data.generated.p = x - want_result: - - x: string + p = x { + type_name("Hello", x) + } + note: typenamebuiltin/type_name + query: data.generated.p = x + want_result: + - x: string diff --git a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0852.yaml b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0852.yaml index 7b56ecff41..1edfe52594 100644 --- a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0852.yaml +++ b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0852.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - type_name([1, 2, 3], x) - } - note: typenamebuiltin/type_name - query: data.generated.p = x - want_result: - - x: array + p = x { + type_name([1, 2, 3], x) + } + note: typenamebuiltin/type_name + query: data.generated.p = x + want_result: + - x: array diff --git a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0853.yaml b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0853.yaml index 821f23c188..0c8f172d03 100644 --- a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0853.yaml +++ b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0853.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - type_name({1, 2, 3}, x) - } - note: typenamebuiltin/type_name - query: data.generated.p = x - want_result: - - x: set + p = x { + type_name({1, 2, 3}, x) + } + note: typenamebuiltin/type_name + query: data.generated.p = x + want_result: + - x: set diff --git a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0854.yaml b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0854.yaml index 361c85d9e1..6dc5e2712f 100644 --- a/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0854.yaml +++ b/test/cases/testdata/typenamebuiltin/test-typenamebuiltin-0854.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - __local0__ = {"foo": yy | yy = 1} - type_name(__local0__, x) - } - note: typenamebuiltin/type_name - query: data.generated.p = x - want_result: - - x: object + p = x { + __local0__ = {"foo": yy | yy = 1} + type_name(__local0__, x) + } + note: typenamebuiltin/type_name + query: data.generated.p = x + want_result: + - x: object diff --git a/test/cases/testdata/undos/test-undos-0599.yaml b/test/cases/testdata/undos/test-undos-0599.yaml index a6a5c2b06e..5b8de1989f 100644 --- a/test/cases/testdata/undos/test-undos-0599.yaml +++ b/test/cases/testdata/undos/test-undos-0599.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - arr = [[1, [2]], [1, null], [2, [2]]] - [x, [2]] = arr[_] - } - note: undos/array-type - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p[x] { + arr = [[1, [2]], [1, null], [2, [2]]] + [x, [2]] = arr[_] + } + note: undos/array-type + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/undos/test-undos-0600.yaml b/test/cases/testdata/undos/test-undos-0600.yaml index 3f38b74268..4a97cad5a2 100644 --- a/test/cases/testdata/undos/test-undos-0600.yaml +++ b/test/cases/testdata/undos/test-undos-0600.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - arr = [[1, 2], [1, null], [2, 2]] - arr[_] = [x, 2] - } - note: undos/arrays-element - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p[x] { + arr = [[1, 2], [1, null], [2, 2]] + arr[_] = [x, 2] + } + note: undos/arrays-element + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/undos/test-undos-0601.yaml b/test/cases/testdata/undos/test-undos-0601.yaml index 6820510437..d9e822e9b1 100644 --- a/test/cases/testdata/undos/test-undos-0601.yaml +++ b/test/cases/testdata/undos/test-undos-0601.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - arr = [[1, [2]], [1, []], [2, [2]]] - arr[_] = [x, [2]] - } - note: undos/arrays-length - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p[x] { + arr = [[1, [2]], [1, []], [2, [2]]] + arr[_] = [x, [2]] + } + note: undos/arrays-length + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/undos/test-undos-0602.yaml b/test/cases/testdata/undos/test-undos-0602.yaml index bba332ed19..3bf69c7536 100644 --- a/test/cases/testdata/undos/test-undos-0602.yaml +++ b/test/cases/testdata/undos/test-undos-0602.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - arr_ref: - - 1 - - null - modules: - - | - package generated + - data: + arr_ref: + - 1 + - null + modules: + - | + package generated - p[x] { - __local0__ = data.arr_ref - arr = [[1, 2], __local0__, [2, 2]] - arr[_] = [x, 2] - } - note: undos/array-ref-element - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p[x] { + __local0__ = data.arr_ref + arr = [[1, 2], __local0__, [2, 2]] + arr[_] = [x, 2] + } + note: undos/array-ref-element + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/undos/test-undos-0603.yaml b/test/cases/testdata/undos/test-undos-0603.yaml index 3ab9cf2599..128e9e5c28 100644 --- a/test/cases/testdata/undos/test-undos-0603.yaml +++ b/test/cases/testdata/undos/test-undos-0603.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - obj = {"a": {"x": 1, "y": {"v": 2}}, "b": {"x": 1, "y": null}, "c": {"x": 2, "y": {"v": 2}}} - {"x": x, "y": {"v": 2}} = obj[_] - } - note: undos/object-type - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p[x] { + obj = {"a": {"x": 1, "y": {"v": 2}}, "b": {"x": 1, "y": null}, "c": {"x": 2, "y": {"v": 2}}} + {"x": x, "y": {"v": 2}} = obj[_] + } + note: undos/object-type + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/undos/test-undos-0604.yaml b/test/cases/testdata/undos/test-undos-0604.yaml index e537d537d4..80e3661cd5 100644 --- a/test/cases/testdata/undos/test-undos-0604.yaml +++ b/test/cases/testdata/undos/test-undos-0604.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - obj = {"a": {"x": 1, "y": 2}, "b": {"x": 1, "y": null}, "c": {"x": 2, "y": 2}} - obj[_] = {"x": x, "y": 2} - } - note: undos/objects-element - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p[x] { + obj = {"a": {"x": 1, "y": 2}, "b": {"x": 1, "y": null}, "c": {"x": 2, "y": 2}} + obj[_] = {"x": x, "y": 2} + } + note: undos/objects-element + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/undos/test-undos-0605.yaml b/test/cases/testdata/undos/test-undos-0605.yaml index dc900d5b38..9c239728d9 100644 --- a/test/cases/testdata/undos/test-undos-0605.yaml +++ b/test/cases/testdata/undos/test-undos-0605.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - obj = {"a": {"x": 1, "y": {"v": 2}}, "b": {"x": 1, "y": {}}, "c": {"x": 2, "y": {"v": 2}}} - obj[_] = {"x": x, "y": {"v": 2}} - } - note: undos/objects-length - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p[x] { + obj = {"a": {"x": 1, "y": {"v": 2}}, "b": {"x": 1, "y": {}}, "c": {"x": 2, "y": {"v": 2}}} + obj[_] = {"x": x, "y": {"v": 2}} + } + note: undos/objects-length + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/undos/test-undos-0606.yaml b/test/cases/testdata/undos/test-undos-0606.yaml index ebdbb6ea3f..50515989f8 100644 --- a/test/cases/testdata/undos/test-undos-0606.yaml +++ b/test/cases/testdata/undos/test-undos-0606.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - obj_ref: - x: 1 - y: null - modules: - - | - package generated + - data: + obj_ref: + x: 1 + y: null + modules: + - | + package generated - p[x] { - __local0__ = data.obj_ref - obj = {"a": {"x": 1, "y": 2}, "b": __local0__, "c": {"x": 2, "y": 2}} - obj[_] = {"x": x, "y": 2} - } - note: undos/object-ref-element - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p[x] { + __local0__ = data.obj_ref + obj = {"a": {"x": 1, "y": 2}, "b": __local0__, "c": {"x": 2, "y": 2}} + obj[_] = {"x": x, "y": 2} + } + note: undos/object-ref-element + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/undos/test-undos-0607.yaml b/test/cases/testdata/undos/test-undos-0607.yaml index f6f2a0a234..a429db135c 100644 --- a/test/cases/testdata/undos/test-undos-0607.yaml +++ b/test/cases/testdata/undos/test-undos-0607.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - obj_ref_missing_key: - x: 3 - z: 2 - modules: - - | - package generated + - data: + obj_ref_missing_key: + x: 3 + z: 2 + modules: + - | + package generated - p[x] { - __local0__ = data.obj_ref_missing_key - obj = {"a": {"x": 1, "y": 2}, "b": __local0__, "c": {"x": 2, "y": 2}} - obj[_] = {"x": x, "y": 2} - } - note: undos/object-ref-missing-key - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p[x] { + __local0__ = data.obj_ref_missing_key + obj = {"a": {"x": 1, "y": 2}, "b": __local0__, "c": {"x": 2, "y": 2}} + obj[_] = {"x": x, "y": 2} + } + note: undos/object-ref-missing-key + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/union/test-union-0357.yaml b/test/cases/testdata/union/test-union-0357.yaml index 22d62b3672..35edfaeb0a 100644 --- a/test/cases/testdata/union/test-union-0357.yaml +++ b/test/cases/testdata/union/test-union-0357.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - union(set(), x) - } - note: union/union_0_sets - query: data.generated.p = x - want_result: - - x: [] + p = x { + union(set(), x) + } + note: union/union_0_sets + query: data.generated.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/union/test-union-0358.yaml b/test/cases/testdata/union/test-union-0358.yaml index d170217ae1..3a4a2ed50e 100644 --- a/test/cases/testdata/union/test-union-0358.yaml +++ b/test/cases/testdata/union/test-union-0358.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - union({set(), {1, 2}}, x) - } - note: union/union_2_sets - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 + p = x { + union({set(), {1, 2}}, x) + } + note: union/union_2_sets + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/union/test-union-0359.yaml b/test/cases/testdata/union/test-union-0359.yaml index 4ccfd953b7..946779ce44 100644 --- a/test/cases/testdata/union/test-union-0359.yaml +++ b/test/cases/testdata/union/test-union-0359.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - s1 = {1, 2, 3} - s2 = {2} - union({s1, s2}, x) - } - note: union/union_2_sets - query: data.generated.p = x - want_result: - - x: - - 1 - - 2 - - 3 + p = x { + s1 = {1, 2, 3} + s2 = {2} + union({s1, s2}, x) + } + note: union/union_2_sets + query: data.generated.p = x + want_result: + - x: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/union/test-union-0360.yaml b/test/cases/testdata/union/test-union-0360.yaml index a847d91d7b..df788fb4fd 100644 --- a/test/cases/testdata/union/test-union-0360.yaml +++ b/test/cases/testdata/union/test-union-0360.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - s1 = {1, 2, 3} - s2 = {2, 3, 4} - s3 = {4, 5, 6} - union({s1, s2, s3}, x) - } - note: union/union_3_sets - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 + p = x { + s1 = {1, 2, 3} + s2 = {2, 3, 4} + s3 = {4, 5, 6} + union({s1, s2, s3}, x) + } + note: union/union_3_sets + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 diff --git a/test/cases/testdata/union/test-union-0361.yaml b/test/cases/testdata/union/test-union-0361.yaml index 0f3337e037..31f63e2004 100644 --- a/test/cases/testdata/union/test-union-0361.yaml +++ b/test/cases/testdata/union/test-union-0361.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - s1 = {"a", "b", "c", "d"} - s2 = {"b", "c", "d"} - s3 = {"c", "d"} - s4 = {"d"} - union({s1, s2, s3, s4}, x) - } - note: union/union_4_sets - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - a - - b - - c - - d + p = x { + s1 = {"a", "b", "c", "d"} + s2 = {"b", "c", "d"} + s3 = {"c", "d"} + s4 = {"d"} + union({s1, s2, s3, s4}, x) + } + note: union/union_4_sets + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - a + - b + - c + - d diff --git a/test/cases/testdata/units/test-parse-bytes-comparisons.yaml b/test/cases/testdata/units/test-parse-bytes-comparisons.yaml index 3bc50acc5a..59df4dc487 100644 --- a/test/cases/testdata/units/test-parse-bytes-comparisons.yaml +++ b/test/cases/testdata/units/test-parse-bytes-comparisons.yaml @@ -1,111 +1,112 @@ +--- cases: -- data: - modules: - - | - package test - p { - units.parse_bytes("8kb") > units.parse_bytes("7kb") - } - note: units_parse_bytes/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse_bytes("8gb") > units.parse_bytes("8mb") - } - note: units_parse_bytes/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse_bytes("1234kb") < units.parse_bytes("1gb") - } - note: units_parse_bytes/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse_bytes("1024") == units.parse_bytes("1KiB") - } - note: units_parse_bytes/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse_bytes("2MiB") == units.parse_bytes("2097152") - } - note: units_parse_bytes/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse_bytes("3MiB") > units.parse_bytes("3MB") - } - note: units_parse_bytes/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse_bytes("2MiB") == units.parse_bytes("2Mi") - } - note: units_parse_bytes/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse_bytes("4Mi") > units.parse_bytes("4M") - } - note: units_parse_bytes/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse_bytes("4.1Mi") > units.parse_bytes("4Mi") - } - note: units_parse_bytes/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse_bytes("128Gi") == units.parse_bytes("137438953472") - } - note: units_parse_bytes/comparison - query: data.test.p = x - want_result: - - x: true \ No newline at end of file + - data: + modules: + - | + package test + p { + units.parse_bytes("8kb") > units.parse_bytes("7kb") + } + note: units_parse_bytes/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse_bytes("8gb") > units.parse_bytes("8mb") + } + note: units_parse_bytes/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse_bytes("1234kb") < units.parse_bytes("1gb") + } + note: units_parse_bytes/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse_bytes("1024") == units.parse_bytes("1KiB") + } + note: units_parse_bytes/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse_bytes("2MiB") == units.parse_bytes("2097152") + } + note: units_parse_bytes/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse_bytes("3MiB") > units.parse_bytes("3MB") + } + note: units_parse_bytes/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse_bytes("2MiB") == units.parse_bytes("2Mi") + } + note: units_parse_bytes/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse_bytes("4Mi") > units.parse_bytes("4M") + } + note: units_parse_bytes/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse_bytes("4.1Mi") > units.parse_bytes("4Mi") + } + note: units_parse_bytes/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse_bytes("128Gi") == units.parse_bytes("137438953472") + } + note: units_parse_bytes/comparison + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/units/test-parse-bytes-errors.yaml b/test/cases/testdata/units/test-parse-bytes-errors.yaml index 04fe9014b2..095017096f 100644 --- a/test/cases/testdata/units/test-parse-bytes-errors.yaml +++ b/test/cases/testdata/units/test-parse-bytes-errors.yaml @@ -1,85 +1,86 @@ +--- cases: -- data: - modules: - - | - package test - p { - units.parse_bytes("") - } - note: units_parse_bytes/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse_bytes: no byte amount provided" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse_bytes("GB") - } - note: units_parse_bytes/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse_bytes: no byte amount provided" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse_bytes("foo") - } - note: units_parse_bytes/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse_bytes: no byte amount provided" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse_bytes("0.0.0") - } - note: units_parse_bytes/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse_bytes: could not parse byte amount to a number" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse_bytes(".5.2") - } - note: units_parse_bytes/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse_bytes: could not parse byte amount to a number" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse_bytes("100 kb") - } - note: units_parse_bytes/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse_bytes: spaces not allowed in resource strings" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse_bytes(" 327MiB ") - } - note: units_parse_bytes/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse_bytes: spaces not allowed in resource strings" - strict_error: true + - data: + modules: + - | + package test + p { + units.parse_bytes("") + } + note: units_parse_bytes/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse_bytes: no byte amount provided" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse_bytes("GB") + } + note: units_parse_bytes/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse_bytes: no byte amount provided" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse_bytes("foo") + } + note: units_parse_bytes/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse_bytes: no byte amount provided" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse_bytes("0.0.0") + } + note: units_parse_bytes/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse_bytes: could not parse byte amount to a number" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse_bytes(".5.2") + } + note: units_parse_bytes/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse_bytes: could not parse byte amount to a number" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse_bytes("100 kb") + } + note: units_parse_bytes/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse_bytes: spaces not allowed in resource strings" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse_bytes(" 327MiB ") + } + note: units_parse_bytes/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse_bytes: spaces not allowed in resource strings" + strict_error: true diff --git a/test/cases/testdata/units/test-parse-bytes.yaml b/test/cases/testdata/units/test-parse-bytes.yaml index b372413f25..d04dbc480f 100644 --- a/test/cases/testdata/units/test-parse-bytes.yaml +++ b/test/cases/testdata/units/test-parse-bytes.yaml @@ -1,455 +1,456 @@ +--- cases: -- data: - modules: - - | - package test - p { - units.parse_bytes("\"100TIB\"") == 109951162777600 - } - note: units_parse_bytes/removes quotes and lowercases string - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse_bytes("0") == 0 - } - note: units_parse_bytes/zero - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("0.0") == 0 - } - note: units_parse_bytes/zero float - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes(".0") == 0 - } - note: units_parse_bytes/zero bare float - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("12345") == 12345 - } - note: units_parse_bytes/raw number - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("10KB") == 10000 - } - note: units_parse_bytes/10 kilobytes uppercase - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("10KIB") == 10240 - } - note: units_parse_bytes/10 KiB uppercase - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("10kb") == 10000 - } - note: units_parse_bytes/10 KB lowercase - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("10Kib") == 10240 - } - note: units_parse_bytes/10 KiB mixed case - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("200mb") == 200000000 - } - note: units_parse_bytes/200 megabytes as mb - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("300GiB") == 322122547200 - } - note: units_parse_bytes/300 GiB - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("1.1KB") == 1100 - } - note: units_parse_bytes/1.1 KB floating point - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("1.1KiB") == 1126 - } - note: units_parse_bytes/1.1 KiB floating point rounded - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes(".5KB") == 500 - } - note: units_parse_bytes/.5 KB bare floating point - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100k") == 100000 - } - note: units_parse_bytes/100 kilobytes as k - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100kb") == 100000 - } - note: units_parse_bytes/100 kilobytes as kb - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100ki") == 102400 - } - note: units_parse_bytes/100 kibibytes as ki - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100kib") == 102400 - } - note: units_parse_bytes/100 kibibytes as kib - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100m") == 100000000 - } - note: units_parse_bytes/100 megabytes as m - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100mb") == 100000000 - } - note: units_parse_bytes/100 megabytes as mb - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100mi") == 104857600 - } - note: units_parse_bytes/100 mebibytes as mi - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100mib") == 104857600 - } - note: units_parse_bytes/100 mebibytes as mib - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100g") == 100000000000 - } - note: units_parse_bytes/100 gigabytes as g - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100gb") == 100000000000 - } - note: units_parse_bytes/100 gigabytes as gb - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100gi") == 107374182400 - } - note: units_parse_bytes/100 gibibytes as gi - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100gib") == 107374182400 - } - note: units_parse_bytes/100 gibibytes as gib - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100t") == 100000000000000 - } - note: units_parse_bytes/100 terabytes as t - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100tb") == 100000000000000 - } - note: units_parse_bytes/100 terabytes as tb - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100ti") == 109951162777600 - } - note: units_parse_bytes/100 tebibytes as ti - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100tib") == 109951162777600 - } - note: units_parse_bytes/100 tebibytes as tib - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100p") == 100000000000000000 - } - note: units_parse_bytes/100 petabytes as p - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100pb") == 100000000000000000 - } - note: units_parse_bytes/100 petabytes as pb - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100pi") == 112589990684262400 - } - note: units_parse_bytes/100 pebibytes as pi - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("100pib") == 112589990684262400 - } - note: units_parse_bytes/100 pebibytes as pib - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("10e") == 10000000000000000000 - } - note: units_parse_bytes/10 etabytes as e - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("10eb") == 10000000000000000000 - } - note: units_parse_bytes/10 etabytes as eb - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("10ei") == 11529215046068469760 - } - note: units_parse_bytes/10 ebibytes as ei - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse_bytes("10eib") == 11529215046068469760 - } - note: units_parse_bytes/10 ebibytes as eib - query: data.test.p = x - want_result: - - x: true \ No newline at end of file + - data: + modules: + - | + package test + p { + units.parse_bytes("\"100TIB\"") == 109951162777600 + } + note: units_parse_bytes/removes quotes and lowercases string + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse_bytes("0") == 0 + } + note: units_parse_bytes/zero + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("0.0") == 0 + } + note: units_parse_bytes/zero float + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes(".0") == 0 + } + note: units_parse_bytes/zero bare float + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("12345") == 12345 + } + note: units_parse_bytes/raw number + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("10KB") == 10000 + } + note: units_parse_bytes/10 kilobytes uppercase + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("10KIB") == 10240 + } + note: units_parse_bytes/10 KiB uppercase + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("10kb") == 10000 + } + note: units_parse_bytes/10 KB lowercase + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("10Kib") == 10240 + } + note: units_parse_bytes/10 KiB mixed case + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("200mb") == 200000000 + } + note: units_parse_bytes/200 megabytes as mb + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("300GiB") == 322122547200 + } + note: units_parse_bytes/300 GiB + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("1.1KB") == 1100 + } + note: units_parse_bytes/1.1 KB floating point + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("1.1KiB") == 1126 + } + note: units_parse_bytes/1.1 KiB floating point rounded + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes(".5KB") == 500 + } + note: units_parse_bytes/.5 KB bare floating point + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100k") == 100000 + } + note: units_parse_bytes/100 kilobytes as k + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100kb") == 100000 + } + note: units_parse_bytes/100 kilobytes as kb + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100ki") == 102400 + } + note: units_parse_bytes/100 kibibytes as ki + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100kib") == 102400 + } + note: units_parse_bytes/100 kibibytes as kib + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100m") == 100000000 + } + note: units_parse_bytes/100 megabytes as m + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100mb") == 100000000 + } + note: units_parse_bytes/100 megabytes as mb + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100mi") == 104857600 + } + note: units_parse_bytes/100 mebibytes as mi + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100mib") == 104857600 + } + note: units_parse_bytes/100 mebibytes as mib + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100g") == 100000000000 + } + note: units_parse_bytes/100 gigabytes as g + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100gb") == 100000000000 + } + note: units_parse_bytes/100 gigabytes as gb + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100gi") == 107374182400 + } + note: units_parse_bytes/100 gibibytes as gi + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100gib") == 107374182400 + } + note: units_parse_bytes/100 gibibytes as gib + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100t") == 100000000000000 + } + note: units_parse_bytes/100 terabytes as t + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100tb") == 100000000000000 + } + note: units_parse_bytes/100 terabytes as tb + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100ti") == 109951162777600 + } + note: units_parse_bytes/100 tebibytes as ti + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100tib") == 109951162777600 + } + note: units_parse_bytes/100 tebibytes as tib + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100p") == 100000000000000000 + } + note: units_parse_bytes/100 petabytes as p + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100pb") == 100000000000000000 + } + note: units_parse_bytes/100 petabytes as pb + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100pi") == 112589990684262400 + } + note: units_parse_bytes/100 pebibytes as pi + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("100pib") == 112589990684262400 + } + note: units_parse_bytes/100 pebibytes as pib + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("10e") == 10000000000000000000 + } + note: units_parse_bytes/10 etabytes as e + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("10eb") == 10000000000000000000 + } + note: units_parse_bytes/10 etabytes as eb + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("10ei") == 11529215046068469760 + } + note: units_parse_bytes/10 ebibytes as ei + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse_bytes("10eib") == 11529215046068469760 + } + note: units_parse_bytes/10 ebibytes as eib + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/units/test-parse-units-comparisons.yaml b/test/cases/testdata/units/test-parse-units-comparisons.yaml index b1a6461bc8..0aeb8676c5 100644 --- a/test/cases/testdata/units/test-parse-units-comparisons.yaml +++ b/test/cases/testdata/units/test-parse-units-comparisons.yaml @@ -1,111 +1,112 @@ +--- cases: -- data: - modules: - - | - package test - p { - units.parse("8k") > units.parse("7k") - } - note: units_parse/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse("8g") > units.parse("8m") - } - note: units_parse/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse("1234k") < units.parse("1g") - } - note: units_parse/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse("1024") == units.parse("1Ki") - } - note: units_parse/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse("2Mi") == units.parse("2097152") - } - note: units_parse/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse("3Mi") > units.parse("3M") - } - note: units_parse/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse("2Mi") == units.parse("2Mi") - } - note: units_parse/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse("4Mi") > units.parse("4M") - } - note: units_parse/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse("4.1Mi") > units.parse("4Mi") - } - note: units_parse/comparison - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse("128Gi") == units.parse("137438953472") - } - note: units_parse/comparison - query: data.test.p = x - want_result: - - x: true + - data: + modules: + - | + package test + p { + units.parse("8k") > units.parse("7k") + } + note: units_parse/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse("8g") > units.parse("8m") + } + note: units_parse/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse("1234k") < units.parse("1g") + } + note: units_parse/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse("1024") == units.parse("1Ki") + } + note: units_parse/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse("2Mi") == units.parse("2097152") + } + note: units_parse/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse("3Mi") > units.parse("3M") + } + note: units_parse/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse("2Mi") == units.parse("2Mi") + } + note: units_parse/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse("4Mi") > units.parse("4M") + } + note: units_parse/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse("4.1Mi") > units.parse("4Mi") + } + note: units_parse/comparison + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse("128Gi") == units.parse("137438953472") + } + note: units_parse/comparison + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/units/test-parse-units-errors.yaml b/test/cases/testdata/units/test-parse-units-errors.yaml index 5d79cb0a32..b599f027a7 100644 --- a/test/cases/testdata/units/test-parse-units-errors.yaml +++ b/test/cases/testdata/units/test-parse-units-errors.yaml @@ -1,85 +1,86 @@ +--- cases: -- data: - modules: - - | - package test - p { - units.parse("") - } - note: units_parse/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse: no amount provided" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse("G") - } - note: units_parse/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse: no amount provided" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse("foo") - } - note: units_parse/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse: no amount provided" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse("0.0.0") - } - note: units_parse/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse: could not parse amount to a number" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse(".5.2") - } - note: units_parse/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse: could not parse amount to a number" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse("100 k") - } - note: units_parse/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse: spaces not allowed in resource strings" - strict_error: true -- data: - modules: - - | - package test - p { - units.parse(" 327Mi ") - } - note: units_parse/failure - query: data.test.p = x - want_error_code: eval_builtin_error - want_error: "units.parse: spaces not allowed in resource strings" - strict_error: true + - data: + modules: + - | + package test + p { + units.parse("") + } + note: units_parse/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse: no amount provided" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse("G") + } + note: units_parse/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse: no amount provided" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse("foo") + } + note: units_parse/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse: no amount provided" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse("0.0.0") + } + note: units_parse/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse: could not parse amount to a number" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse(".5.2") + } + note: units_parse/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse: could not parse amount to a number" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse("100 k") + } + note: units_parse/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse: spaces not allowed in resource strings" + strict_error: true + - data: + modules: + - | + package test + p { + units.parse(" 327Mi ") + } + note: units_parse/failure + query: data.test.p = x + want_error_code: eval_builtin_error + want_error: "units.parse: spaces not allowed in resource strings" + strict_error: true diff --git a/test/cases/testdata/units/test-parse-units.yaml b/test/cases/testdata/units/test-parse-units.yaml index ab59a9a5c6..bb91a0abb8 100644 --- a/test/cases/testdata/units/test-parse-units.yaml +++ b/test/cases/testdata/units/test-parse-units.yaml @@ -1,431 +1,432 @@ +--- cases: -- data: - modules: - - | - package test - p { - units.parse("\"100TI\"") == 109951162777600 - } - note: units_parse/removes quotes and lowercases string - query: data.test.p = x - want_result: - - x: true -- data: - modules: - - | - package test - p { - units.parse("0") == 0 - } - note: units_parse/zero - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("0.0") == 0 - } - note: units_parse/zero float - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse(".0") == 0 - } - note: units_parse/zero bare float - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("12345") == 12345 - } - note: units_parse/raw number - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("10K") == 10000 - } - note: units_parse/10 kilo uppercase - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("10KI") == 10240 - } - note: units_parse/10 Ki uppercase - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("10k") == 10000 - } - note: units_parse/10 K lowercase - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("10Ki") == 10240 - } - note: units_parse/10 Ki mixed case - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("200M") == 200000000 - } - note: units_parse/200 mega - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("300Gi") == 322122547200 - } - note: units_parse/300 Gi - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("1.1K") == 1100 - } - note: units_parse/1.1 K floating point - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("1.1Ki") == 1126.4 - } - note: units_parse/1.1 Ki floating point, not rounded - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse(".5K") == 500 - } - note: units_parse/.5 K bare floating point - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100k") == 100000 - } - note: units_parse/100 kilo as k - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100K") == 100000 - } - note: units_parse/100 kilo as K - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100ki") == 102400 - } - note: units_parse/100 kibi as ki - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100Ki") == 102400 - } - note: units_parse/100 kibi as Ki - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - round(units.parse("100m") * 1000) == 100 - } - note: units_parse/100 milli as m - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100M") == 100000000 - } - note: units_parse/100 mega as M - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100mi") == 104857600 - } - note: units_parse/100 mebi as mi - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100Mi") == 104857600 - } - note: units_parse/100 mebi as Mi - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100g") == 100000000000 - } - note: units_parse/100 giga as g - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100gi") == 107374182400 - } - note: units_parse/100 gibi as gi - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100t") == 100000000000000 - } - note: units_parse/100 tera as t - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100T") == 100000000000000 - } - note: units_parse/100 tera as T - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100ti") == 109951162777600 - } - note: units_parse/100 tebi as ti - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100Ti") == 109951162777600 - } - note: units_parse/100 tebi as Ti - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100p") == 100000000000000000 - } - note: units_parse/100 peta as p - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100P") == 100000000000000000 - } - note: units_parse/100 peta as P - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100pi") == 112589990684262400 - } - note: units_parse/100 pebi as pi - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("100Pi") == 112589990684262400 - } - note: units_parse/100 pebi as Pi - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("10e") == 10000000000000000000 - } - note: units_parse/10 eta as e - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("10E") == 10000000000000000000 - } - note: units_parse/10 eta as E - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("10ei") == 11529215046068469760 - } - note: units_parse/10 ebi as ei - query: data.test.p = x - want_result: - - x: true - -- data: - modules: - - | - package test - p { - units.parse("10Ei") == 11529215046068469760 - } - note: units_parse/10 ebi as Ei - query: data.test.p = x - want_result: - - x: true + - data: + modules: + - | + package test + p { + units.parse("\"100TI\"") == 109951162777600 + } + note: units_parse/removes quotes and lowercases string + query: data.test.p = x + want_result: + - x: true + - data: + modules: + - | + package test + p { + units.parse("0") == 0 + } + note: units_parse/zero + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("0.0") == 0 + } + note: units_parse/zero float + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse(".0") == 0 + } + note: units_parse/zero bare float + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("12345") == 12345 + } + note: units_parse/raw number + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("10K") == 10000 + } + note: units_parse/10 kilo uppercase + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("10KI") == 10240 + } + note: units_parse/10 Ki uppercase + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("10k") == 10000 + } + note: units_parse/10 K lowercase + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("10Ki") == 10240 + } + note: units_parse/10 Ki mixed case + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("200M") == 200000000 + } + note: units_parse/200 mega + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("300Gi") == 322122547200 + } + note: units_parse/300 Gi + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("1.1K") == 1100 + } + note: units_parse/1.1 K floating point + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("1.1Ki") == 1126.4 + } + note: units_parse/1.1 Ki floating point, not rounded + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse(".5K") == 500 + } + note: units_parse/.5 K bare floating point + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100k") == 100000 + } + note: units_parse/100 kilo as k + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100K") == 100000 + } + note: units_parse/100 kilo as K + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100ki") == 102400 + } + note: units_parse/100 kibi as ki + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100Ki") == 102400 + } + note: units_parse/100 kibi as Ki + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + round(units.parse("100m") * 1000) == 100 + } + note: units_parse/100 milli as m + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100M") == 100000000 + } + note: units_parse/100 mega as M + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100mi") == 104857600 + } + note: units_parse/100 mebi as mi + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100Mi") == 104857600 + } + note: units_parse/100 mebi as Mi + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100g") == 100000000000 + } + note: units_parse/100 giga as g + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100gi") == 107374182400 + } + note: units_parse/100 gibi as gi + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100t") == 100000000000000 + } + note: units_parse/100 tera as t + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100T") == 100000000000000 + } + note: units_parse/100 tera as T + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100ti") == 109951162777600 + } + note: units_parse/100 tebi as ti + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100Ti") == 109951162777600 + } + note: units_parse/100 tebi as Ti + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100p") == 100000000000000000 + } + note: units_parse/100 peta as p + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100P") == 100000000000000000 + } + note: units_parse/100 peta as P + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100pi") == 112589990684262400 + } + note: units_parse/100 pebi as pi + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("100Pi") == 112589990684262400 + } + note: units_parse/100 pebi as Pi + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("10e") == 10000000000000000000 + } + note: units_parse/10 eta as e + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("10E") == 10000000000000000000 + } + note: units_parse/10 eta as E + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("10ei") == 11529215046068469760 + } + note: units_parse/10 ebi as ei + query: data.test.p = x + want_result: + - x: true + + - data: + modules: + - | + package test + p { + units.parse("10Ei") == 11529215046068469760 + } + note: units_parse/10 ebi as Ei + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0939.yaml b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0939.yaml index f1e5fae62c..c5bf7503d4 100644 --- a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0939.yaml +++ b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0939.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - urlquery.encode("a=b+1", x) - } - note: urlbuiltins/encode - query: data.generated.p = x - want_result: - - x: a%3Db%2B1 + p = x { + urlquery.encode("a=b+1", x) + } + note: urlbuiltins/encode + query: data.generated.p = x + want_result: + - x: a%3Db%2B1 diff --git a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0940.yaml b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0940.yaml index 0da2d6421a..ceb68a18b1 100644 --- a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0940.yaml +++ b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0940.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - urlquery.encode("", x) - } - note: urlbuiltins/encode empty - query: data.generated.p = x - want_result: - - x: '' + p = x { + urlquery.encode("", x) + } + note: urlbuiltins/encode empty + query: data.generated.p = x + want_result: + - x: "" diff --git a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0941.yaml b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0941.yaml index 2f66f25ee7..bdf2505f92 100644 --- a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0941.yaml +++ b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0941.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - urlquery.decode("a%3Db%2B1", x) - } - note: urlbuiltins/decode - query: data.generated.p = x - want_result: - - x: a=b+1 + p = x { + urlquery.decode("a%3Db%2B1", x) + } + note: urlbuiltins/decode + query: data.generated.p = x + want_result: + - x: a=b+1 diff --git a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0942.yaml b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0942.yaml index ad1ba0108b..14bd63b2c3 100644 --- a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0942.yaml +++ b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0942.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - urlquery.encode_object({}, x) - } - note: urlbuiltins/encode_object empty - query: data.generated.p = x - want_result: - - x: '' + p = x { + urlquery.encode_object({}, x) + } + note: urlbuiltins/encode_object empty + query: data.generated.p = x + want_result: + - x: "" diff --git a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0943.yaml b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0943.yaml index 1ddf183182..afd0275bf5 100644 --- a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0943.yaml +++ b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0943.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - urlquery.encode_object({"a": "b", "c": "d"}, x) - } - note: urlbuiltins/encode_object strings - query: data.generated.p = x - want_result: - - x: a=b&c=d + p = x { + urlquery.encode_object({"a": "b", "c": "d"}, x) + } + note: urlbuiltins/encode_object strings + query: data.generated.p = x + want_result: + - x: a=b&c=d diff --git a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0944.yaml b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0944.yaml index eb87517063..69d022db7e 100644 --- a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0944.yaml +++ b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0944.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - urlquery.encode_object({"a": "c=b+1"}, x) - } - note: urlbuiltins/encode_object escape - query: data.generated.p = x - want_result: - - x: a=c%3Db%2B1 + p = x { + urlquery.encode_object({"a": "c=b+1"}, x) + } + note: urlbuiltins/encode_object escape + query: data.generated.p = x + want_result: + - x: a=c%3Db%2B1 diff --git a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0945.yaml b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0945.yaml index 99bf486be8..0db7ed8e93 100644 --- a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0945.yaml +++ b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0945.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - urlquery.encode_object({"a": ["b+1", "c+2"]}, x) - } - note: urlbuiltins/encode_object array - query: data.generated.p = x - want_result: - - x: a=b%2B1&a=c%2B2 + p = x { + urlquery.encode_object({"a": ["b+1", "c+2"]}, x) + } + note: urlbuiltins/encode_object array + query: data.generated.p = x + want_result: + - x: a=b%2B1&a=c%2B2 diff --git a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0946.yaml b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0946.yaml index c08da5fcd1..9214fe4e78 100644 --- a/test/cases/testdata/urlbuiltins/test-urlbuiltins-0946.yaml +++ b/test/cases/testdata/urlbuiltins/test-urlbuiltins-0946.yaml @@ -1,13 +1,14 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - urlquery.encode_object({"a": {"b+1"}}, x) - } - note: urlbuiltins/encode_object set - query: data.generated.p = x - want_result: - - x: a=b%2B1 + p = x { + urlquery.encode_object({"a": {"b+1"}}, x) + } + note: urlbuiltins/encode_object set + query: data.generated.p = x + want_result: + - x: a=b%2B1 diff --git a/test/cases/testdata/urlbuiltins/test-urlbuiltins-1076.yaml b/test/cases/testdata/urlbuiltins/test-urlbuiltins-1076.yaml index eb3f727d6e..e604b3a8ab 100644 --- a/test/cases/testdata/urlbuiltins/test-urlbuiltins-1076.yaml +++ b/test/cases/testdata/urlbuiltins/test-urlbuiltins-1076.yaml @@ -1,34 +1,35 @@ +--- cases: -- modules: - - | - package decode_object + - modules: + - | + package decode_object - p = x { - x = urlquery.decode_object("a=value_a1&b=value_b&a=value_a2") - } - note: urlbuiltins/decode_object multiple - query: data.decode_object.p = x - want_result: - - x: {"a": ["value_a1", "value_a2"], "b": ["value_b"]} -- modules: - - | - package decode_object + p = x { + x = urlquery.decode_object("a=value_a1&b=value_b&a=value_a2") + } + note: urlbuiltins/decode_object multiple + query: data.decode_object.p = x + want_result: + - x: { "a": ["value_a1", "value_a2"], "b": ["value_b"] } + - modules: + - | + package decode_object - p = x { - x = urlquery.decode_object("a=value_a1&b") - } - note: urlbuiltins/decode_object empty parameter - query: data.decode_object.p = x - want_result: - - x: {"a": ["value_a1"], "b": [""]} -- modules: - - | - package decode_object + p = x { + x = urlquery.decode_object("a=value_a1&b") + } + note: urlbuiltins/decode_object empty parameter + query: data.decode_object.p = x + want_result: + - x: { "a": ["value_a1"], "b": [""] } + - modules: + - | + package decode_object - p = x { - x = urlquery.decode_object("") - } - note: urlbuiltins/decode_object empty string - query: data.decode_object.p = x - want_result: - - x: {} \ No newline at end of file + p = x { + x = urlquery.decode_object("") + } + note: urlbuiltins/decode_object empty string + query: data.decode_object.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/uuid/test-uuid-input-formats.yaml b/test/cases/testdata/uuid/test-uuid-input-formats.yaml index 67f6d6f89a..4f1a43107d 100644 --- a/test/cases/testdata/uuid/test-uuid-input-formats.yaml +++ b/test/cases/testdata/uuid/test-uuid-input-formats.yaml @@ -1,6 +1,7 @@ +--- cases: - note: uuid-parse/positive-v4-braces - data: { } + data: {} modules: - | package test @@ -15,7 +16,7 @@ cases: variant: "RFC4122" - note: uuid-parse/positive-v2-urn - data: { } + data: {} modules: - | package test @@ -36,7 +37,7 @@ cases: id: 1000 - note: uuid-parse/positive-v3-no-dashes - data: { } + data: {} modules: - | package test @@ -48,4 +49,4 @@ cases: want_result: - x: version: 3 - variant: "RFC4122" \ No newline at end of file + variant: "RFC4122" diff --git a/test/cases/testdata/uuid/test-uuid-parse-rule.yaml b/test/cases/testdata/uuid/test-uuid-parse-rule.yaml index f5c40e57c9..a5b9926849 100644 --- a/test/cases/testdata/uuid/test-uuid-parse-rule.yaml +++ b/test/cases/testdata/uuid/test-uuid-parse-rule.yaml @@ -1,10 +1,11 @@ +--- cases: - note: uuid-parse-rule/positive data: {} modules: - | package test - + validuser { is_string(input.userid) parsed_uuid := uuid.parse(input.userid) @@ -12,7 +13,7 @@ cases: parsed_uuid.version == 4 } - input: {"userid": "00000000-0000-4000-8000-000000000000"} + input: { "userid": "00000000-0000-4000-8000-000000000000" } query: data.test.validuser = x want_result: - x: true diff --git a/test/cases/testdata/uuid/test-uuid-parse.yaml b/test/cases/testdata/uuid/test-uuid-parse.yaml index b42c0462b2..69513416ad 100644 --- a/test/cases/testdata/uuid/test-uuid-parse.yaml +++ b/test/cases/testdata/uuid/test-uuid-parse.yaml @@ -1,13 +1,14 @@ +--- cases: - note: uuid-parse/positive-v4 data: {} modules: - | package test - + p = uuid.parse(input.userid) - input: {"userid": "00000000-0000-4000-8000-000000000000"} + input: { "userid": "00000000-0000-4000-8000-000000000000" } query: data.test.p = x want_result: - x: @@ -15,7 +16,7 @@ cases: variant: "RFC4122" - note: uuid-parse/positive-v2 - data: { } + data: {} modules: - | package test @@ -40,10 +41,10 @@ cases: modules: - | package test - + p = uuid.parse(input.userid) - input: {"userid": "38074da4-0b00-388d-9c3c-362de965547a"} + input: { "userid": "38074da4-0b00-388d-9c3c-362de965547a" } query: data.test.p = x want_result: - x: @@ -55,9 +56,9 @@ cases: modules: - | package test - + p = uuid.parse(input.userid) - input: {"userid": "123"} + input: { "userid": "123" } query: data.test.p = x - want_result: [] \ No newline at end of file + want_result: [] diff --git a/test/cases/testdata/varreferences/test-varreferences-0726.yaml b/test/cases/testdata/varreferences/test-varreferences-0726.yaml index 0633dbc44c..40fbe01d6e 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0726.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0726.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - v = [[1, 2], [2, 3], [3, 4]] - x = v[2][1] - } - note: varreferences/ground - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 4 + p[x] { + v = [[1, 2], [2, 3], [3, 4]] + x = v[2][1] + } + note: varreferences/ground + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 4 diff --git a/test/cases/testdata/varreferences/test-varreferences-0727.yaml b/test/cases/testdata/varreferences/test-varreferences-0727.yaml index 8d5007ed17..cdf30a40d1 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0727.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0727.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - v = [[1, 2], [2, 3], [3, 4]] - x = v[i][j] - } - note: varreferences/non-ground - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + p[x] { + v = [[1, 2], [2, 3], [3, 4]] + x = v[i][j] + } + note: varreferences/non-ground + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/varreferences/test-varreferences-0728.yaml b/test/cases/testdata/varreferences/test-varreferences-0728.yaml index a3e40278a2..0f492bc5dc 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0728.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0728.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] = y { - v = [{"a": 1, "b": 2}, {"c": 3, "z": [4]}] - y = v[i][x][j] - } - note: varreferences/mixed - query: data.generated.p = x - want_result: - - x: - z: 4 + p[x] = y { + v = [{"a": 1, "b": 2}, {"c": 3, "z": [4]}] + y = v[i][x][j] + } + note: varreferences/mixed + query: data.generated.p = x + want_result: + - x: + z: 4 diff --git a/test/cases/testdata/varreferences/test-varreferences-0729.yaml b/test/cases/testdata/varreferences/test-varreferences-0729.yaml index 4770446f3a..ae187e2441 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0729.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0729.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[x] { - v = data.c[i][j] - x = v[k] - x = true - } - note: varreferences/ref binding - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - true + p[x] { + v = data.c[i][j] + x = v[k] + x = true + } + note: varreferences/ref binding + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - true diff --git a/test/cases/testdata/varreferences/test-varreferences-0730.yaml b/test/cases/testdata/varreferences/test-varreferences-0730.yaml index 6a92c8252d..9da7b570a3 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0730.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0730.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = x { - q = data.a - q[0] = x - q[0] - } - note: varreferences/existing ref binding - query: data.generated.p = x - want_result: - - x: 1 + p = x { + q = data.a + q[0] = x + q[0] + } + note: varreferences/existing ref binding + query: data.generated.p = x + want_result: + - x: 1 diff --git a/test/cases/testdata/varreferences/test-varreferences-0731.yaml b/test/cases/testdata/varreferences/test-varreferences-0731.yaml index 03c0de7fe8..587f84edbe 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0731.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0731.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - v = [1, 2, 3] - __local0__ = v[i] - x = [{"a": __local0__}] - } - note: varreferences/embedded - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - a: 1 - - - a: 2 - - - a: 3 + p[x] { + v = [1, 2, 3] + __local0__ = v[i] + x = [{"a": __local0__}] + } + note: varreferences/embedded + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - a: 1 + - - a: 2 + - - a: 3 diff --git a/test/cases/testdata/varreferences/test-varreferences-0732.yaml b/test/cases/testdata/varreferences/test-varreferences-0732.yaml index 2525e805e4..f93f15c3f3 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0732.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0732.yaml @@ -1,33 +1,34 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[x] { - v = data.c[i][j] - __local0__ = v[0] - __local1__ = v[1] - w = [__local0__, __local1__] - x = w[y] - } - note: varreferences/embedded ref binding - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - null - - false - - true - - 3.14159 + p[x] { + v = data.c[i][j] + __local0__ = v[0] + __local1__ = v[1] + w = [__local0__, __local1__] + x = w[y] + } + note: varreferences/embedded ref binding + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - null + - false + - true + - 3.14159 diff --git a/test/cases/testdata/varreferences/test-varreferences-0733.yaml b/test/cases/testdata/varreferences/test-varreferences-0733.yaml index 513db65901..3368978008 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0733.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0733.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - i = [1, 2, 3, 4] - j = [1, 2, 999] - j[k] = y - i[y] = x - } - note: 'varreferences/array: ground var' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 + p[x] { + i = [1, 2, 3, 4] + j = [1, 2, 999] + j[k] = y + i[y] = x + } + note: "varreferences/array: ground var" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 diff --git a/test/cases/testdata/varreferences/test-varreferences-0734.yaml b/test/cases/testdata/varreferences/test-varreferences-0734.yaml index 09d68a27fe..33f71efd46 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0734.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0734.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[y] { - i = [1, 2, 3, 4] - x = data.a[_] - i[x] = y - } - note: 'varreferences/array: ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 - - 4 + p[y] { + i = [1, 2, 3, 4] + x = data.a[_] + i[x] = y + } + note: "varreferences/array: ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/varreferences/test-varreferences-0735.yaml b/test/cases/testdata/varreferences/test-varreferences-0735.yaml index 78bb362cfa..ed5fd99101 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0735.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0735.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - i = {"a": 1, "b": 2, "c": 3} - j = ["a", "c", "deadbeef"] - j[k] = y - i[y] = x - } - note: 'varreferences/object: ground var' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 3 + p[x] { + i = {"a": 1, "b": 2, "c": 3} + j = ["a", "c", "deadbeef"] + j[k] = y + i[y] = x + } + note: "varreferences/object: ground var" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 3 diff --git a/test/cases/testdata/varreferences/test-varreferences-0736.yaml b/test/cases/testdata/varreferences/test-varreferences-0736.yaml index 950ec5180c..ce58da4b12 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0736.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0736.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - numbers: - - '1' - - '2' - - '3' - - '4' - modules: - - | - package generated + - data: + numbers: + - "1" + - "2" + - "3" + - "4" + modules: + - | + package generated - p[y] { - i = {"1": 1, "2": 2, "4": 4} - x = data.numbers[_] - i[x] = y - } - note: 'varreferences/object: ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 4 + p[y] { + i = {"1": 1, "2": 2, "4": 4} + x = data.numbers[_] + i[x] = y + } + note: "varreferences/object: ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 4 diff --git a/test/cases/testdata/varreferences/test-varreferences-0737.yaml b/test/cases/testdata/varreferences/test-varreferences-0737.yaml index be92a06b75..854d2c5a19 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0737.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0737.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - i = {1, 2, 3, 4} - j = {1, 2, 99} - j[x] - i[x] - } - note: 'varreferences/set: ground var' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + p[x] { + i = {1, 2, 3, 4} + j = {1, 2, 99} + j[x] + i[x] + } + note: "varreferences/set: ground var" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/varreferences/test-varreferences-0738.yaml b/test/cases/testdata/varreferences/test-varreferences-0738.yaml index 8ba756e992..ce396b2db1 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0738.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0738.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - i = {1, 2, 3, 4} - x = data.a[_] - i[x] - } - note: 'varreferences/set: ref' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + p[x] { + i = {1, 2, 3, 4} + x = data.a[_] + i[x] + } + note: "varreferences/set: ref" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/varreferences/test-varreferences-0739.yaml b/test/cases/testdata/varreferences/test-varreferences-0739.yaml index 223b1efbe6..215f0155be 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0739.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0739.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - v = {[1, 999], [3, 4]} - __local0__ = data.a[2] - pair = [__local0__, 4] - v[pair] - } - note: 'varreferences/set: lookup: base docs' - query: data.generated.p = x - want_result: - - x: true + p { + v = {[1, 999], [3, 4]} + __local0__ = data.a[2] + pair = [__local0__, 4] + v[pair] + } + note: "varreferences/set: lookup: base docs" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/varreferences/test-varreferences-0740.yaml b/test/cases/testdata/varreferences/test-varreferences-0740.yaml index bdde050d53..d220f36a4f 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0740.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0740.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - x = [{}, {[1, 2], [3, 4]}] - y = [3, 4] - x[i][y] - } - note: 'varreferences/set: lookup: embedded' - query: data.generated.p = x - want_result: - - x: true + p { + x = [{}, {[1, 2], [3, 4]}] + y = [3, 4] + x[i][y] + } + note: "varreferences/set: lookup: embedded" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/varreferences/test-varreferences-0741.yaml b/test/cases/testdata/varreferences/test-varreferences-0741.yaml index 367f8a3ae8..922814c0d4 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0741.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0741.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[[i, z, r]] { - x = [{}, {[1, 2], [3, 4]}] - y = [3, 4] - x[i][y][z] = r - } - note: 'varreferences/set: lookup: dereference' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - 0 - - 3 - - - 1 - - 1 - - 4 + p[[i, z, r]] { + x = [{}, {[1, 2], [3, 4]}] + y = [3, 4] + x[i][y][z] = r + } + note: "varreferences/set: lookup: dereference" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - 0 + - 3 + - - 1 + - 1 + - 4 diff --git a/test/cases/testdata/varreferences/test-varreferences-0742.yaml b/test/cases/testdata/varreferences/test-varreferences-0742.yaml index 0d725e8ac0..ca156cfcf2 100644 --- a/test/cases/testdata/varreferences/test-varreferences-0742.yaml +++ b/test/cases/testdata/varreferences/test-varreferences-0742.yaml @@ -1,14 +1,15 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - somevar = [1, 2, 3] - somevar[i] = 2 - } - note: varreferences/avoids indexer - query: data.generated.p = x - want_result: - - x: true + p { + somevar = [1, 2, 3] + somevar[i] = 2 + } + note: varreferences/avoids indexer + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0620.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0620.yaml index cb8a4b0d6c..61815ebb7d 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0620.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0620.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.generated.q[1] - } + p { + data.generated.q[1] + } - q[x] { - data.a[i] = x - } - note: 'virtualdocs/input: set 1' - query: data.generated.p = x - want_result: - - x: true + q[x] { + data.a[i] = x + } + note: "virtualdocs/input: set 1" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0621.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0621.yaml index d5395e0199..f25b9db93f 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0621.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0621.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - data.generated.q[1] = x - } + p[x] { + data.generated.q[1] = x + } - q[x] { - data.a[i] = x - } - note: 'virtualdocs/input: set 2' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + q[x] { + data.a[i] = x + } + note: "virtualdocs/input: set 2" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0622.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0622.yaml index 74915570d5..54d5e81d2b 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0622.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0622.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.generated.q[2] - x = {"b": [__local0__]} - } + p[x] { + __local0__ = data.generated.q[2] + x = {"b": [__local0__]} + } - q[x] { - data.a[i] = x - } - note: 'virtualdocs/input: set embedded' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - b: - - 2 + q[x] { + data.a[i] = x + } + note: "virtualdocs/input: set embedded" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - b: + - 2 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0623.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0623.yaml index f06049bd4a..caa1d9f217 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0623.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0623.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q[1000] - } + p { + data.generated.q[1000] + } - q[x] { - data.a[x] = y - } - note: 'virtualdocs/input: set undefined' - query: data.generated.p = x - want_result: [] + q[x] { + data.a[x] = y + } + note: "virtualdocs/input: set undefined" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0624.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0624.yaml index 1f86187622..fc3967c3b8 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0624.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0624.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p = y { - x = [1] - data.generated.q[x][0] = y - } + p = y { + x = [1] + data.generated.q[x][0] = y + } - q[[x]] { - data.a[_] = x - } - note: 'virtualdocs/input: set dereference' - query: data.generated.p = x - want_result: - - x: 1 + q[[x]] { + data.a[_] = x + } + note: "virtualdocs/input: set dereference" + query: data.generated.p = x + want_result: + - x: 1 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0625.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0625.yaml index 09928a1b66..0558386a94 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0625.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0625.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - x = 1 - data.generated.q[x] - } + p[x] { + x = 1 + data.generated.q[x] + } - q[y] { - data.a[y] = i - } - note: 'virtualdocs/input: set ground var' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 + q[y] { + data.a[y] = i + } + note: "virtualdocs/input: set ground var" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0626.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0626.yaml index eac8ee06a1..cfbeedd355 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0626.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0626.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - z = [[1, 2], 2] - data.generated.q[z] - } + p { + z = [[1, 2], 2] + data.generated.q[z] + } - q[[x, y]] { - y = 2 - x = [1, y] - } - note: 'virtualdocs/input: set ground composite (1)' - query: data.generated.p = x - want_result: - - x: true + q[[x, y]] { + y = 2 + x = [1, y] + } + note: "virtualdocs/input: set ground composite (1)" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0627.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0627.yaml index 022e5e6793..4120ee4fef 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0627.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0627.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - y = 2 - z = [[1, y], y] - data.generated.q[z] - } + p { + y = 2 + z = [[1, y], y] + data.generated.q[z] + } - q[[x, y]] { - y = 2 - x = [1, y] - } - note: 'virtualdocs/input: set ground composite (2)' - query: data.generated.p = x - want_result: - - x: true + q[[x, y]] { + y = 2 + x = [1, y] + } + note: "virtualdocs/input: set ground composite (2)" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0628.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0628.yaml index 2042b91799..4f46f4a323 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0628.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0628.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - y = 2 - x = [1, y] - z = [x, y] - data.generated.q[z] - } + p { + y = 2 + x = [1, y] + z = [x, y] + data.generated.q[z] + } - q[[x, y]] { - y = 2 - x = [1, y] - } - note: 'virtualdocs/input: set ground composite (3)' - query: data.generated.p = x - want_result: - - x: true + q[[x, y]] { + y = 2 + x = [1, y] + } + note: "virtualdocs/input: set ground composite (3)" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0629.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0629.yaml index 734df069ed..41c5c294e1 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0629.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0629.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[u] { - y = 2 - data.generated.q[z] - z = [x, y] - x = [1, u] - } + p[u] { + y = 2 + data.generated.q[z] + z = [x, y] + x = [1, u] + } - q[[x, y]] { - y = 2 - x = [1, y] - } - note: 'virtualdocs/input: set partially ground composite' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 + q[[x, y]] { + y = 2 + x = [1, y] + } + note: "virtualdocs/input: set partially ground composite" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0630.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0630.yaml index 0712b9eb68..eaba9f2c2c 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0630.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0630.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.generated.q[1] = 2 - } + p { + data.generated.q[1] = 2 + } - q[i] = x { - data.a[i] = x - } - note: 'virtualdocs/input: object 1' - query: data.generated.p = x - want_result: - - x: true + q[i] = x { + data.a[i] = x + } + note: "virtualdocs/input: object 1" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0631.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0631.yaml index 45b00c728d..68e1587a13 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0631.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0631.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.generated.q[1] = 0 - } + p { + data.generated.q[1] = 0 + } - q[x] = i { - data.a[i] = x - } - note: 'virtualdocs/input: object 2' - query: data.generated.p = x - want_result: - - x: true + q[x] = i { + data.a[i] = x + } + note: "virtualdocs/input: object 2" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0632.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0632.yaml index 01a8b2b081..b3d602df86 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0632.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0632.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.generated.q[3] - __local1__ = data.generated.q[2] - x = [1, __local0__, __local1__] - } + p[x] { + __local0__ = data.generated.q[3] + __local1__ = data.generated.q[2] + x = [1, __local0__, __local1__] + } - q[i] = x { - data.a[i] = x - } - note: 'virtualdocs/input: object embedded 1' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - 4 - - 3 + q[i] = x { + data.a[i] = x + } + note: "virtualdocs/input: object embedded 1" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - 4 + - 3 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0633.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0633.yaml index 4b77f2ac01..859a2fb08c 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0633.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0633.yaml @@ -1,29 +1,30 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.generated.q[3] - __local1__ = data.generated.q[2] - x = {"a": [__local0__], "b": [__local1__]} - } + p[x] { + __local0__ = data.generated.q[3] + __local1__ = data.generated.q[2] + x = {"a": [__local0__], "b": [__local1__]} + } - q[i] = x { - data.a[i] = x - } - note: 'virtualdocs/input: object embedded 2' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - a: - - 4 - b: - - 3 + q[i] = x { + data.a[i] = x + } + note: "virtualdocs/input: object embedded 2" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - a: + - 4 + b: + - 3 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0634.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0634.yaml index a2debe4bec..20fa16d6da 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0634.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0634.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.generated.q[1] = 9999 - } + p { + data.generated.q[1] = 9999 + } - q[i] = x { - data.a[i] = x - } - note: 'virtualdocs/input: object undefined val' - query: data.generated.p = x - want_result: [] + q[i] = x { + data.a[i] = x + } + note: "virtualdocs/input: object undefined val" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0635.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0635.yaml index 6331a6790c..41a4d1e946 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0635.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0635.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.generated.q[9999] = 2 - } + p { + data.generated.q[9999] = 2 + } - q[i] = x { - data.a[i] = x - } - note: 'virtualdocs/input: object undefined key 1' - query: data.generated.p = x - want_result: [] + q[i] = x { + data.a[i] = x + } + note: "virtualdocs/input: object undefined key 1" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0636.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0636.yaml index 9836fd1570..6294c228f9 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0636.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0636.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.generated.q.foo = 2 - } + p { + data.generated.q.foo = 2 + } - q[i] = x { - data.a[i] = x - } - note: 'virtualdocs/input: object undefined key 2' - query: data.generated.p = x - want_result: [] + q[i] = x { + data.a[i] = x + } + note: "virtualdocs/input: object undefined key 2" + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0637.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0637.yaml index f04df38882..32cc3fe371 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0637.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0637.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p { - data.generated.q[0].x[1] = false - } + p { + data.generated.q[0].x[1] = false + } - q[i] = x { - x = data.c[i] - } - note: 'virtualdocs/input: object dereference ground' - query: data.generated.p = x - want_result: - - x: true + q[i] = x { + x = data.c[i] + } + note: "virtualdocs/input: object dereference ground" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0638.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0638.yaml index fd7cc8d146..8889f7f9a2 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0638.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0638.yaml @@ -1,29 +1,30 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[v] { - x = "a" - data.generated.q[x][y] = v - } + p[v] { + x = "a" + data.generated.q[x][y] = v + } - q[k] = v { - k = "a" - v = data.a - } - note: 'virtualdocs/input: object dereference ground 2' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + q[k] = v { + k = "a" + v = data.a + } + note: "virtualdocs/input: object dereference ground 2" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0639.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0639.yaml index eb2d2dde20..51e0bb1c6f 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0639.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0639.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p { - data.generated.q[0][x][y] = false - } + p { + data.generated.q[0][x][y] = false + } - q[i] = x { - x = data.c[i] - } - note: 'virtualdocs/input: object defererence non-ground' - query: data.generated.p = x - want_result: - - x: true + q[i] = x { + x = data.c[i] + } + note: "virtualdocs/input: object defererence non-ground" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0640.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0640.yaml index 82ee376c8f..c144be7308 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0640.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0640.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[y] { - x = "b" - data.generated.q[x] = y - } + p[y] { + x = "b" + data.generated.q[x] = y + } - q[k] = v { - x = {"a": 1, "b": 2} - x[k] = v - } - note: 'virtualdocs/input: object ground var key' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 + q[k] = v { + x = {"a": 1, "b": 2} + x[k] = v + } + note: "virtualdocs/input: object ground var key" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0641.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0641.yaml index 07fd8870b1..2b152db5dd 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0641.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0641.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[y] { - x = 1 - data.generated.q[x] = y - } + p[y] { + x = 1 + data.generated.q[x] = y + } - q[k] = v { - x = {1: 3, 2: 1} - x[k] = v - } - note: 'virtualdocs/input: object non-string key' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 + q[k] = v { + x = {1: 3, 2: 1} + x[k] = v + } + note: "virtualdocs/input: object non-string key" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0642.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0642.yaml index c3f04eadd7..e6dacd4833 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0642.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0642.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] = y { - data.generated.r[z] = y - data.generated.q[x] = z - } + p[x] = y { + data.generated.r[z] = y + data.generated.q[x] = z + } - r[k] = v { - x = {"a": 1, "b": 2, "c": 3, "d": 4} - x[k] = v - } + r[k] = v { + x = {"a": 1, "b": 2, "c": 3, "d": 4} + x[k] = v + } - q[y] = x { - z = {"a": "a", "b": "b", "d": "d"} - z[y] = x - } - note: 'virtualdocs/input: variable binding substitution' - query: data.generated.p = x - want_result: - - x: - a: 1 - b: 2 - d: 4 + q[y] = x { + z = {"a": "a", "b": "b", "d": "d"} + z[y] = x + } + note: "virtualdocs/input: variable binding substitution" + query: data.generated.p = x + want_result: + - x: + a: 1 + b: 2 + d: 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0643.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0643.yaml index 4825fc8ebf..21c2faef25 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0643.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0643.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - data.generated.q[x] - } + p[x] { + data.generated.q[x] + } - q[y] { - data.a[i] = y - } - note: 'virtualdocs/output: set' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + q[y] { + data.a[i] = y + } + note: "virtualdocs/output: set" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0644.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0644.yaml index ea960ceaa0..94681f47cf 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0644.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0644.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - d: - e: - - bar - - baz - modules: - - | - package generated + - data: + d: + e: + - bar + - baz + modules: + - | + package generated - p[i] { - __local0__ = data.generated.q[i] - {i: [i]} = {i: [__local0__]} - } + p[i] { + __local0__ = data.generated.q[i] + {i: [i]} = {i: [__local0__]} + } - q[x] { - data.d.e[i] = x - } - note: 'virtualdocs/output: set embedded' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - bar - - baz + q[x] { + data.d.e[i] = x + } + note: "virtualdocs/output: set embedded" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - bar + - baz diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0645.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0645.yaml index f85ccb59e5..e872bb1fda 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0645.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0645.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.generated.q[x] - } + p[x] { + data.generated.q[x] + } - q[y] { - i = 1 - j = 2 - y = [i, j] - } - note: 'virtualdocs/output: set var binding' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 1 - - 2 + q[y] { + i = 1 + j = 2 + y = [i, j] + } + note: "virtualdocs/output: set var binding" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 1 + - 2 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0646.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0646.yaml index 6039fe6406..2fc206003d 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0646.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0646.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[y] { - data.generated.q[x][0] = y - } + p[y] { + data.generated.q[x][0] = y + } - q[[x]] { - data.a[_] = x - } - note: 'virtualdocs/output: set dereference' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + q[[x]] { + data.a[_] = x + } + note: "virtualdocs/output: set dereference" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0647.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0647.yaml index 5d9d853140..8a269a68c1 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0647.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0647.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[y] { - data.generated.q[i][j][k][x] = y - } + p[y] { + data.generated.q[i][j][k][x] = y + } - q[{{[1], [2]}, {[3], [4]}}] - note: 'virtualdocs/output: set dereference deep' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + q[{{[1], [2]}, {[3], [4]}}] + note: "virtualdocs/output: set dereference deep" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0648.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0648.yaml index 8edc667db3..0b8e77198c 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0648.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0648.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p[x] { - data.generated.q[x] - } + p[x] { + data.generated.q[x] + } - q = {0, "", false, null, [], {}, set()} - note: 'virtualdocs/output: set falsy values' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - null - - 0 - - "" - - [] - - [] - - {} + q = {0, "", false, null, [], {}, set()} + note: "virtualdocs/output: set falsy values" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - null + - 0 + - "" + - [] + - [] + - {} diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0649.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0649.yaml index a4ac15624c..a159ed73fb 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0649.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0649.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - data.generated.q[x] = 4 - } + p[x] { + data.generated.q[x] = 4 + } - q[i] = x { - data.a[i] = x - } - note: 'virtualdocs/output: object key' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 + q[i] = x { + data.a[i] = x + } + note: "virtualdocs/output: object key" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0650.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0650.yaml index 4908338053..bb956822ed 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0650.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0650.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - data.generated.q[x] = 1 - } + p[x] { + data.generated.q[x] = 1 + } - q[k] = 1 { - data.a[_] = k - k < 3 - } - note: 'virtualdocs/output: object non-string key' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + q[k] = 1 { + data.a[_] = k + k < 3 + } + note: "virtualdocs/output: object non-string key" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0651.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0651.yaml index a51b791483..9eb05c688d 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0651.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0651.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] = y { - data.generated.q[x] = y - } + p[x] = y { + data.generated.q[x] = y + } - q[k] = v { - data.b[k] = v - } - note: 'virtualdocs/output: object value' - query: data.generated.p = x - want_result: - - x: - v1: hello - v2: goodbye + q[k] = v { + data.b[k] = v + } + note: "virtualdocs/output: object value" + query: data.generated.p = x + want_result: + - x: + v1: hello + v2: goodbye diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0652.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0652.yaml index 21598d8f93..d340c96f3e 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0652.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0652.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[k] = v { - __local0__ = data.generated.q[k] - {k: [__local0__]} = {k: [v]} - } + p[k] = v { + __local0__ = data.generated.q[k] + {k: [__local0__]} = {k: [v]} + } - q[x] = y { - data.b[x] = y - } - note: 'virtualdocs/output: object embedded' - query: data.generated.p = x - want_result: - - x: - v1: hello - v2: goodbye + q[x] = y { + data.b[x] = y + } + note: "virtualdocs/output: object embedded" + query: data.generated.p = x + want_result: + - x: + v1: hello + v2: goodbye diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0653.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0653.yaml index 881ae687b3..958917d592 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0653.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0653.yaml @@ -1,30 +1,31 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[i] { - data.generated.q[i].x[1] = false - } + p[i] { + data.generated.q[i].x[1] = false + } - q[i] = x { - x = data.c[i] - } - note: 'virtualdocs/output: object dereference ground' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 0 + q[i] = x { + x = data.c[i] + } + note: "virtualdocs/output: object dereference ground" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 0 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0654.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0654.yaml index b21ba044e1..b954e5271d 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0654.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0654.yaml @@ -1,36 +1,37 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p[r] { - data.generated.q[x][y][z] = false - r = [x, y, z] - } + p[r] { + data.generated.q[x][y][z] = false + r = [x, y, z] + } - q[i] = x { - x = data.c[i] - } - note: 'virtualdocs/output: object defererence non-ground' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 0 - - x - - 1 - - - 0 - - z - - q + q[i] = x { + x = data.c[i] + } + note: "virtualdocs/output: object defererence non-ground" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 0 + - x + - 1 + - - 0 + - z + - q diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0655.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0655.yaml index c5c685ec0c..f082835db5 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0655.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0655.yaml @@ -1,43 +1,44 @@ +--- cases: -- data: - d: - e: - - bar - - baz - l: - - a: bob - b: -1 - c: - - 1 - - 2 - - 3 - - 4 - - a: alice - b: 1 - c: - - 2 - - 3 - - 4 - - 5 - d: null - modules: - - | - package generated + - data: + d: + e: + - bar + - baz + l: + - a: bob + b: -1 + c: + - 1 + - 2 + - 3 + - 4 + - a: alice + b: 1 + c: + - 2 + - 3 + - 4 + - 5 + d: null + modules: + - | + package generated - p[x] { - data.generated.q[_0][0].c[_1] = x - } + p[x] { + data.generated.q[_0][0].c[_1] = x + } - q[k] = v { - data.d.e[_0] = k - v = [r | r = data.l[_1]] - } - note: 'virtualdocs/output: object dereference array of refs' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + q[k] = v { + data.d.e[_0] = k + v = [r | r = data.l[_1]] + } + note: "virtualdocs/output: object dereference array of refs" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0656.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0656.yaml index 9177220e84..6513754683 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0656.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0656.yaml @@ -1,44 +1,45 @@ +--- cases: -- data: - d: - e: - - bar - - baz - l: - - a: bob - b: -1 - c: - - 1 - - 2 - - 3 - - 4 - - a: alice - b: 1 - c: - - 2 - - 3 - - 4 - - 5 - d: null - modules: - - | - package generated + - data: + d: + e: + - bar + - baz + l: + - a: bob + b: -1 + c: + - 1 + - 2 + - 3 + - 4 + - a: alice + b: 1 + c: + - 2 + - 3 + - 4 + - 5 + d: null + modules: + - | + package generated - p[x] { - data.generated.q[_0].x[0].c[_1] = x - } + p[x] { + data.generated.q[_0].x[0].c[_1] = x + } - q[k] = v { - data.d.e[_0] = k - __local0__ = [r | r = data.l[_1]] - v = {"x": __local0__} - } - note: 'virtualdocs/output: object dereference array of refs within object' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + q[k] = v { + data.d.e[_0] = k + __local0__ = [r | r = data.l[_1]] + v = {"x": __local0__} + } + note: "virtualdocs/output: object dereference array of refs within object" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0657.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0657.yaml index 03c2c1f8c7..9066414341 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0657.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0657.yaml @@ -1,38 +1,39 @@ +--- cases: -- data: - d: - e: - - bar - - baz - l: - - a: bob - b: -1 - c: - - 1 - - 2 - - 3 - - 4 - - a: alice - b: 1 - c: - - 2 - - 3 - - 4 - - 5 - d: null - modules: - - | - package generated + - data: + d: + e: + - bar + - baz + l: + - a: bob + b: -1 + c: + - 1 + - 2 + - 3 + - 4 + - a: alice + b: 1 + c: + - 2 + - 3 + - 4 + - 5 + d: null + modules: + - | + package generated - p { - data.generated.q.bar[1].alice[0] = 1 - } + p { + data.generated.q.bar[1].alice[0] = 1 + } - q[k] = v { - data.d.e[_] = k - v = [x | __local0__ = data.l[_].a; x = {__local0__: [1]}] - } - note: 'virtualdocs/output: object dereference object with key refs' - query: data.generated.p = x - want_result: - - x: true + q[k] = v { + data.d.e[_] = k + v = [x | __local0__ = data.l[_].a; x = {__local0__: [1]}] + } + note: "virtualdocs/output: object dereference object with key refs" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0658.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0658.yaml index f5088068f1..4e8f7476d6 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0658.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0658.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[z] { - data.generated.q[x] = y - z = [x, y] - } + p[z] { + data.generated.q[x] = y + z = [x, y] + } - q[k] = v { - x = "a" - y = "b" - k = "foo" - v = [x, y] - } - note: 'virtualdocs/output: object var binding' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - foo - - - a - - b + q[k] = v { + x = "a" + y = "b" + k = "foo" + v = [x, y] + } + note: "virtualdocs/output: object var binding" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - foo + - - a + - b diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0659.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0659.yaml index 930f7c4f71..cbf65a7298 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0659.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0659.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[z] { - data.generated.q[x] = y - z = [x, y] - } + p[z] { + data.generated.q[x] = y + z = [x, y] + } - q[k] = v { - x = "a" - v = "foo" - y = x - k = y - } - note: 'virtualdocs/output: object key var binding' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - a - - foo + q[k] = v { + x = "a" + v = "foo" + y = x + k = y + } + note: "virtualdocs/output: object key var binding" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - a + - foo diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0660.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0660.yaml index fdf50fd55f..0943a37a3a 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0660.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0660.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[[x, y]] { - data.generated.q[x] = 1 - data.generated.q[y] = x - } + p[[x, y]] { + data.generated.q[x] = 1 + data.generated.q[y] = x + } - q[x] = i { - data.a[i] = x - } - note: 'virtualdocs/object: self-join' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 2 - - 3 + q[x] = i { + data.a[i] = x + } + note: "virtualdocs/object: self-join" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 2 + - 3 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0661.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0661.yaml index f9fb49a9cf..4410fb9694 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0661.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0661.yaml @@ -1,26 +1,27 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.generated.q[x] = data.generated.r[x] - } + p[x] { + data.generated.q[x] = data.generated.r[x] + } - q[x] = y { - z = {"a": 1, "b": 2, "d": 4} - z[x] = y - } + q[x] = y { + z = {"a": 1, "b": 2, "d": 4} + z[x] = y + } - r[k] = v { - x = {"a": 1, "b": 2, "c": 4, "d": 3} - x[k] = v - } - note: 'virtualdocs/i/o: objects' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - a - - b + r[k] = v { + x = {"a": 1, "b": 2, "c": 4, "d": 3} + x[k] = v + } + note: "virtualdocs/i/o: objects" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - a + - b diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0662.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0662.yaml index 8902c34c57..50be7ae317 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0662.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0662.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[y] { - data.generated.q[x] - data.generated.r[x] = y - } + p[y] { + data.generated.q[x] + data.generated.r[x] = y + } - q[x] { - z = ["a", "b", "c", "d"] - z[y] = x - } + q[x] { + z = ["a", "b", "c", "d"] + z[y] = x + } - r[k] = v { - x = {"a": 1, "b": 2, "d": 4} - x[k] = v - } - note: 'virtualdocs/i/o: undefined keys' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 4 + r[k] = v { + x = {"a": 1, "b": 2, "d": 4} + x[k] = v + } + note: "virtualdocs/i/o: undefined keys" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0663.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0663.yaml index 0d8c9c465b..e0d1f9cab5 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0663.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0663.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q[1] = 2 - } + p { + data.generated.q[1] = 2 + } - q = [1, 2, 3, 4] - note: 'virtualdocs/input: complete array' - query: data.generated.p = x - want_result: - - x: true + q = [1, 2, 3, 4] + note: "virtualdocs/input: complete array" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0664.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0664.yaml index a9ce918235..9d5630a6b5 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0664.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0664.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q.b = 2 - } + p { + data.generated.q.b = 2 + } - q = {"a": 1, "b": 2} - note: 'virtualdocs/input: complete object' - query: data.generated.p = x - want_result: - - x: true + q = {"a": 1, "b": 2} + note: "virtualdocs/input: complete object" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0665.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0665.yaml index ba1b6ab0fd..26a8e9376b 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0665.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0665.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q[3] - } + p { + data.generated.q[3] + } - q = {1, 2, 3, 4} - note: 'virtualdocs/input: complete set' - query: data.generated.p = x - want_result: - - x: true + q = {1, 2, 3, 4} + note: "virtualdocs/input: complete set" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0666.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0666.yaml index d7dafd9d67..1be9378a87 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0666.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0666.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q[1][1] = 3 - } + p { + data.generated.q[1][1] = 3 + } - q = [[0, 1], [2, 3]] - note: 'virtualdocs/input: complete array dereference ground' - query: data.generated.p = x - want_result: - - x: true + q = [[0, 1], [2, 3]] + note: "virtualdocs/input: complete array dereference ground" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0667.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0667.yaml index 50da88fab0..065279f364 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0667.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0667.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q.b[1] = 4 - } + p { + data.generated.q.b[1] = 4 + } - q = {"a": [1, 2], "b": [3, 4]} - note: 'virtualdocs/input: complete object dereference ground' - query: data.generated.p = x - want_result: - - x: true + q = {"a": [1, 2], "b": [3, 4]} + note: "virtualdocs/input: complete object dereference ground" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0668.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0668.yaml index 66ca2a264c..8bbcd80711 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0668.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0668.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - z = [1, 2] - z[i] = y - data.generated.q[y] = x - } + p[x] { + z = [1, 2] + z[i] = y + data.generated.q[y] = x + } - q = [1, 2, 3, 4] - note: 'virtualdocs/input: complete array ground index' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 + q = [1, 2, 3, 4] + note: "virtualdocs/input: complete array ground index" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0669.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0669.yaml index d87ec1d058..4c12e0b491 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0669.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0669.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - z = ["b", "c"] - z[i] = y - data.generated.q[y] = x - } + p[x] { + z = ["b", "c"] + z[i] = y + data.generated.q[y] = x + } - q = {"a": 1, "b": 2, "c": 3, "d": 4} - note: 'virtualdocs/input: complete object ground key' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 + q = {"a": 1, "b": 2, "c": 3, "d": 4} + note: "virtualdocs/input: complete object ground key" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0670.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0670.yaml index 166c1b1b85..ec9bdcd3f7 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0670.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0670.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q[1][1] = 2 - } + p { + data.generated.q[1][1] = 2 + } - q = [{"x": x, "y": y}, z] { - x = 1 - y = 2 - z = [1, 2, 3] - } - note: 'virtualdocs/input: complete vars' - query: data.generated.p = x - want_result: - - x: true + q = [{"x": x, "y": y}, z] { + x = 1 + y = 2 + z = [1, 2, 3] + } + note: "virtualdocs/input: complete vars" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0671.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0671.yaml index dd476434dd..afd4c9d375 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0671.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0671.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.generated.q[i] = e - x = [i, e] - } + p[x] { + data.generated.q[i] = e + x = [i, e] + } - q = [1, 2, 3, 4] - note: 'virtualdocs/output: complete array' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 0 - - 1 - - - 1 - - 2 - - - 2 - - 3 - - - 3 - - 4 + q = [1, 2, 3, 4] + note: "virtualdocs/output: complete array" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 0 + - 1 + - - 1 + - 2 + - - 2 + - 3 + - - 3 + - 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0672.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0672.yaml index bec93137d3..698ce4b471 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0672.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0672.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.generated.q[i] = e - x = [i, e] - } + p[x] { + data.generated.q[i] = e + x = [i, e] + } - q = {"a": 1, "b": 2} - note: 'virtualdocs/output: complete object' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - a - - 1 - - - b - - 2 + q = {"a": 1, "b": 2} + note: "virtualdocs/output: complete object" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - a + - 1 + - - b + - 2 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0673.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0673.yaml index f0a25453b9..711d289282 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0673.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0673.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.generated.q[x] - } + p[x] { + data.generated.q[x] + } - q = {1, 2, 3, 4} - note: 'virtualdocs/output: complete set' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + q = {1, 2, 3, 4} + note: "virtualdocs/output: complete set" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0674.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0674.yaml index fc6a43d440..24f5460540 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0674.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0674.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[r] { - data.generated.q[i][j] = 2 - r = [i, j] - } + p[r] { + data.generated.q[i][j] = 2 + r = [i, j] + } - q = [[1, 2], [3, 2]] - note: 'virtualdocs/output: complete array dereference non-ground' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 0 - - 1 - - - 1 - - 1 + q = [[1, 2], [3, 2]] + note: "virtualdocs/output: complete array dereference non-ground" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 0 + - 1 + - - 1 + - 1 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0675.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0675.yaml index f5c523d44f..696c88d048 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0675.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0675.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[r] { - data.generated.q[x][y] = 2 - r = [x, y] - } + p[r] { + data.generated.q[x][y] = 2 + r = [x, y] + } - q = {"a": {"x": 1}, "b": {"y": 2}, "c": {"z": 2}} - note: 'virtualdocs/output: complete object defererence non-ground' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - b - - "y" - - - c - - z + q = {"a": {"x": 1}, "b": {"y": 2}, "c": {"z": 2}} + note: "virtualdocs/output: complete object defererence non-ground" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - b + - "y" + - - c + - z diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0676.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0676.yaml index 464feb1879..02353a8aeb 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0676.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0676.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.generated.q[_][_] = x - } + p[x] { + data.generated.q[_][_] = x + } - q = [{"x": x, "y": y}, z] { - x = 1 - y = 2 - z = [1, 2, 3] - } - note: 'virtualdocs/output: complete vars' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 + q = [{"x": x, "y": y}, z] { + x = 1 + y = 2 + z = [1, 2, 3] + } + note: "virtualdocs/output: complete vars" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0677.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0677.yaml index f424183007..66b62e9dac 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0677.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0677.yaml @@ -1,15 +1,16 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q - } + p { + data.generated.q + } - q = true - note: 'virtualdocs/no suffix: complete' - query: data.generated.p = x - want_result: - - x: true + q = true + note: "virtualdocs/no suffix: complete" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0678.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0678.yaml index 85aafaffb5..b3892619ae 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0678.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0678.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q - } + p { + data.generated.q + } - q = x { - x = true - } - note: 'virtualdocs/no suffix: complete vars' - query: data.generated.p = x - want_result: - - x: true + q = x { + x = true + } + note: "virtualdocs/no suffix: complete vars" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0679.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0679.yaml index 32ba636d95..8bb2097292 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0679.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0679.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q - } + p { + data.generated.q + } - q = false + q = false - q = true - note: 'virtualdocs/no suffix: complete incr (error)' - query: data.generated.p = x - want_error: complete rules must not produce multiple outputs - want_error_code: eval_conflict_error + q = true + note: "virtualdocs/no suffix: complete incr (error)" + query: data.generated.p = x + want_error: complete rules must not produce multiple outputs + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0680.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0680.yaml index c31a6cc41d..5cb88dc3d8 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0680.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0680.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - not data.generated.q - } + p { + not data.generated.q + } - q { - false - } + q { + false + } - q = false - note: 'virtualdocs/no suffix: complete incr' - query: data.generated.p = x - want_result: - - x: true + q = false + note: "virtualdocs/no suffix: complete incr" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0681.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0681.yaml index bbfbc671ab..74c5592fb3 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0681.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0681.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p[x] = y { - data.generated.q = o - o[x] = y - } + p[x] = y { + data.generated.q = o + o[x] = y + } - q[x] = y { - data.b[x] = y - } - note: 'virtualdocs/no suffix: object' - query: data.generated.p = x - want_result: - - x: - v1: hello - v2: goodbye + q[x] = y { + data.b[x] = y + } + note: "virtualdocs/no suffix: object" + query: data.generated.p = x + want_result: + - x: + v1: hello + v2: goodbye diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0682.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0682.yaml index 1c3b1c1586..3dcc4da146 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0682.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0682.yaml @@ -1,33 +1,34 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - d: - e: - - bar - - baz - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + d: + e: + - bar + - baz + modules: + - | + package generated - p[x] = y { - data.generated.q = o - o[x] = y - } + p[x] = y { + data.generated.q = o + o[x] = y + } - q[x] = y { - data.b[x] = y - } + q[x] = y { + data.b[x] = y + } - q[x1] = y1 { - data.d.e[y1] = x1 - } - note: 'virtualdocs/no suffix: object incr' - query: data.generated.p = x - want_result: - - x: - bar: 0 - baz: 1 - v1: hello - v2: goodbye + q[x1] = y1 { + data.d.e[y1] = x1 + } + note: "virtualdocs/no suffix: object incr" + query: data.generated.p = x + want_result: + - x: + bar: 0 + baz: 1 + v1: hello + v2: goodbye diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0683.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0683.yaml index 65dc1db06d..9a0a2c95d4 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0683.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0683.yaml @@ -1,33 +1,34 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q = x - x[i] = 4 - } + p { + data.generated.q = x + x[i] = 4 + } - q[k] = v { - data.generated.r = x - x[k] = v - } + q[k] = v { + data.generated.r = x + x[k] = v + } - r[k] = v { - data.generated.s = x - x[k] = v - } + r[k] = v { + data.generated.s = x + x[k] = v + } - r[k] = v { - data.generated.t = x - x[v] = k - } + r[k] = v { + data.generated.t = x + x[v] = k + } - s = {"a": 1, "b": 2, "c": 4} + s = {"a": 1, "b": 2, "c": 4} - t = ["d", "e", "g"] - note: 'virtualdocs/no suffix: chained' - query: data.generated.p = x - want_result: - - x: true + t = ["d", "e", "g"] + note: "virtualdocs/no suffix: chained" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0684.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0684.yaml index a178839d7c..24a57e2438 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0684.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0684.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.generated.q = x - } + p[x] { + data.generated.q = x + } - q[k] = v { - i = "a" - j = 1 - v = [i, j] - k = i - } - note: 'virtualdocs/no suffix: object var binding' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - a: - - a - - 1 + q[k] = v { + i = "a" + j = 1 + v = [i, j] + k = i + } + note: "virtualdocs/no suffix: object var binding" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - a: + - a + - 1 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0685.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0685.yaml index 543fb039ae..958992837c 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0685.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0685.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.generated.q = x - } + p[x] { + data.generated.q = x + } - q[k] = {"v": v} { - i = "a" - j = 1 - v = [i, j] - k = i - } - note: 'virtualdocs/no suffix: object composite value' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - a: - v: - - a - - 1 + q[k] = {"v": v} { + i = "a" + j = 1 + v = [i, j] + k = i + } + note: "virtualdocs/no suffix: object composite value" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - a: + v: + - a + - 1 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0686.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0686.yaml index 777535c750..fe6167b87d 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0686.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0686.yaml @@ -1,29 +1,30 @@ +--- cases: -- data: - c: - - x: - - true - - false - - foo - y: - - null - - 3.14159 - z: - p: true - q: false - modules: - - | - package generated + - data: + c: + - x: + - true + - false + - foo + y: + - null + - 3.14159 + z: + p: true + q: false + modules: + - | + package generated - p { - data.generated.q - data.generated.q - } + p { + data.generated.q + data.generated.q + } - q = x { - x = data.c[0].z.p - } - note: 'virtualdocs/no suffix: bound ref with long prefix (#238)' - query: data.generated.p = x - want_result: - - x: true + q = x { + x = data.c[0].z.p + } + note: "virtualdocs/no suffix: bound ref with long prefix (#238)" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0687.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0687.yaml index 912f78377b..92f353aafd 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0687.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0687.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] = y { - xs = ["a", "b", "c", "a"] - x = xs[i] - y = data.a[i] - } - note: 'virtualdocs/no suffix: object conflict (error)' - query: data.generated.p = x - want_error: object keys must be unique - want_error_code: eval_conflict_error + p[x] = y { + xs = ["a", "b", "c", "a"] + x = xs[i] + y = data.a[i] + } + note: "virtualdocs/no suffix: object conflict (error)" + query: data.generated.p = x + want_error: object keys must be unique + want_error_code: eval_conflict_error diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0688.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0688.yaml index a4a8955475..6e0072ea12 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0688.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0688.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - data.generated.q = s - s[x] - } + p[x] { + data.generated.q = s + s[x] + } - q[x] { - data.a[i] = x - } - note: 'virtualdocs/no suffix: set' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 - - 3 - - 4 + q[x] { + data.a[i] = x + } + note: "virtualdocs/no suffix: set" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0689.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0689.yaml index d80feea91d..03738a5249 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0689.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0689.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[1] { - data.a[0] = 100 - } - note: virtualdocs/empty partial set - query: data.generated.p = x - sort_bindings: true - want_result: - - x: [] + p[1] { + data.a[0] = 100 + } + note: virtualdocs/empty partial set + query: data.generated.p = x + sort_bindings: true + want_result: + - x: [] diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0690.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0690.yaml index c2b82f99b2..c207922c39 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0690.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0690.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p["x"] = 1 { - data.a[0] = 100 - } - note: virtualdocs/empty partial object - query: data.generated.p = x - want_result: - - x: {} + p["x"] = 1 { + data.a[0] = 100 + } + note: virtualdocs/empty partial object + query: data.generated.p = x + want_result: + - x: {} diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0691.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0691.yaml index 18c5018925..641c14883a 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0691.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0691.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - data.generated.q.a.b = x - } + p = x { + data.generated.q.a.b = x + } - q = {x: {y: 1}} { - x = "a" - y = "b" - } - note: 'virtualdocs/input: non-ground object keys' - query: data.generated.p = x - want_result: - - x: 1 + q = {x: {y: 1}} { + x = "a" + y = "b" + } + note: "virtualdocs/input: non-ground object keys" + query: data.generated.p = x + want_result: + - x: 1 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0692.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0692.yaml index d84ed16c12..bc3fa98367 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0692.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0692.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.generated.q.c - } + p { + data.generated.q.c + } - q = {x, "b", z} { - x = "a" - z = "c" - } - note: 'virtualdocs/input: non-ground set elements' - query: data.generated.p = x - want_result: - - x: true + q = {x, "b", z} { + x = "a" + z = "c" + } + note: "virtualdocs/input: non-ground set elements" + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0693.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0693.yaml index 948dd42d99..ad04d52831 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0693.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0693.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.generated.q[i][j] = x - } + p[x] { + data.generated.q[i][j] = x + } - q = {x: {x1: 1}, y: {y1: 2}} { - x = "a" - y = "b" - x1 = "a1" - y1 = "b1" - } - note: 'virtualdocs/output: non-ground object keys' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 1 - - 2 + q = {x: {x1: 1}, y: {y1: 2}} { + x = "a" + y = "b" + x1 = "a1" + y1 = "b1" + } + note: "virtualdocs/output: non-ground object keys" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 1 + - 2 diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-0694.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-0694.yaml index f2b1dc6371..c45ec1ee98 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-0694.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-0694.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.generated.q[x] - } + p[x] { + data.generated.q[x] + } - q = {x, "b", z} { - x = "a" - z = "c" - } - note: 'virtualdocs/output: non-ground set elements' - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - a - - b - - c + q = {x, "b", z} { + x = "a" + z = "c" + } + note: "virtualdocs/output: non-ground set elements" + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - a + - b + - c diff --git a/test/cases/testdata/virtualdocs/test-virtualdocs-undefined.yaml b/test/cases/testdata/virtualdocs/test-virtualdocs-undefined.yaml index 7ac48b0026..75e415b62f 100644 --- a/test/cases/testdata/virtualdocs/test-virtualdocs-undefined.yaml +++ b/test/cases/testdata/virtualdocs/test-virtualdocs-undefined.yaml @@ -1,45 +1,46 @@ +--- cases: -- data: - modules: - - | - package test + - data: + modules: + - | + package test - p { - [1, 2, input] - } else = false { true } - note: 'virtualdocs/undefined: in array literal' - query: data.test.p = x - want_result: - - x: false -- data: - modules: - - | - package test + p { + [1, 2, input] + } else = false { true } + note: "virtualdocs/undefined: in array literal" + query: data.test.p = x + want_result: + - x: false + - data: + modules: + - | + package test - p { - {1, 2, input} - } else = false { true } - note: 'virtualdocs/undefined: in set literal' - query: data.test.p = x - want_result: - - x: false -- data: - modules: - - | - package test + p { + {1, 2, input} + } else = false { true } + note: "virtualdocs/undefined: in set literal" + query: data.test.p = x + want_result: + - x: false + - data: + modules: + - | + package test - p = {1 | input} - note: 'virtualdocs/undefined: in set coprehension body' - query: data.test.p = x - want_result: - - x: [] -- data: - modules: - - | - package test + p = {1 | input} + note: "virtualdocs/undefined: in set coprehension body" + query: data.test.p = x + want_result: + - x: [] + - data: + modules: + - | + package test - p = [1 | input] - note: 'virtualdocs/undefined: in array coprehension body' - query: data.test.p = x - want_result: - - x: [] \ No newline at end of file + p = [1 | input] + note: "virtualdocs/undefined: in array coprehension body" + query: data.test.p = x + want_result: + - x: [] diff --git a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0970.yaml b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0970.yaml index 2fb64d5778..76ce923a7f 100644 --- a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0970.yaml +++ b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0970.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - __local0__ = data.a[0] - walk(__local0__, x) - } - note: walkbuiltin/scalar - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - [] - - 1 + p[x] { + __local0__ = data.a[0] + walk(__local0__, x) + } + note: walkbuiltin/scalar + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - [] + - 1 diff --git a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0971.yaml b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0971.yaml index 95d0b69cd3..3ee65fa1a6 100644 --- a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0971.yaml +++ b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0971.yaml @@ -1,33 +1,34 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated - - p[x] { - __local0__ = data.a - walk(__local0__, x) - } - note: walkbuiltin/arrays - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - [] - - - 1 + - data: + a: + - 1 - 2 - 3 - 4 - - - - 0 - - 1 - - - - 1 - - 2 - - - - 2 - - 3 - - - - 3 - - 4 + modules: + - | + package generated + + p[x] { + __local0__ = data.a + walk(__local0__, x) + } + note: walkbuiltin/arrays + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - [] + - - 1 + - 2 + - 3 + - 4 + - - - 0 + - 1 + - - - 1 + - 2 + - - - 2 + - 3 + - - - 3 + - 4 diff --git a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0972.yaml b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0972.yaml index 542c0d7fe1..ef9387c132 100644 --- a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0972.yaml +++ b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0972.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated - - p[x] { - __local0__ = data.b - walk(__local0__, x) - } - note: walkbuiltin/objects - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - [] - - v1: hello + - data: + b: + v1: hello v2: goodbye - - - - v1 - - hello - - - - v2 - - goodbye + modules: + - | + package generated + + p[x] { + __local0__ = data.b + walk(__local0__, x) + } + note: walkbuiltin/objects + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - [] + - v1: hello + v2: goodbye + - - - v1 + - hello + - - - v2 + - goodbye diff --git a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0973.yaml b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0973.yaml index 6a89e633e7..f90ec921f2 100644 --- a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0973.yaml +++ b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0973.yaml @@ -1,42 +1,43 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - __local0__ = data.generated.q - walk(__local0__, x) - } + p[x] { + __local0__ = data.generated.q + walk(__local0__, x) + } - q = {{1, 2, 3}} - note: walkbuiltin/sets - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - [] - - - - 1 - - 2 - - 3 - - - - - 1 - - 2 - - 3 - - - 1 - - 2 - - 3 - - - - - 1 - - 2 - - 3 - - 1 - - 1 - - - - - 1 - - 2 - - 3 - - 2 - - 2 - - - - - 1 - - 2 - - 3 - - 3 - - 3 + q = {{1, 2, 3}} + note: walkbuiltin/sets + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - [] + - - - 1 + - 2 + - 3 + - - - - 1 + - 2 + - 3 + - - 1 + - 2 + - 3 + - - - - 1 + - 2 + - 3 + - 1 + - 1 + - - - - 1 + - 2 + - 3 + - 2 + - 2 + - - - - 1 + - 2 + - 3 + - 3 + - 3 diff --git a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0974.yaml b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0974.yaml index 20e49522bd..6bba861822 100644 --- a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0974.yaml +++ b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0974.yaml @@ -1,29 +1,30 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[[k, x]] { - __local0__ = data.generated.q - walk(__local0__, [k, x]) - __local1__ = k[1] - contains(__local1__, "oo") - } + p[[k, x]] { + __local0__ = data.generated.q + walk(__local0__, [k, x]) + __local1__ = k[1] + contains(__local1__, "oo") + } - q = [{ - "foo": 1, - "bar": 2, - "bazoo": 3, - }] - note: walkbuiltin/match and filter - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - - 0 - - bazoo - - 3 - - - - 0 - - foo - - 1 + q = [{ + "foo": 1, + "bar": 2, + "bazoo": 3, + }] + note: walkbuiltin/match and filter + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - - 0 + - bazoo + - 3 + - - - 0 + - foo + - 1 diff --git a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0975.yaml b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0975.yaml index e626c85cbc..3af4e22936 100644 --- a/test/cases/testdata/walkbuiltin/test-walkbuiltin-0975.yaml +++ b/test/cases/testdata/walkbuiltin/test-walkbuiltin-0975.yaml @@ -1,32 +1,33 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[[k1, k2, x]] { - __local0__ = data.generated.q - walk(__local0__, [["a", k1, "b", k2], x]) - } + p[[k1, k2, x]] { + __local0__ = data.generated.q + walk(__local0__, [["a", k1, "b", k2], x]) + } - q = {"a": [ - {"b": {"foo": 1, "bar": 2}}, - {"b": {"baz": 3, "qux": 4}}, - ]} - note: walkbuiltin/partially ground path - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - 0 - - bar - - 2 - - - 0 - - foo - - 1 - - - 1 - - baz - - 3 - - - 1 - - qux - - 4 + q = {"a": [ + {"b": {"foo": 1, "bar": 2}}, + {"b": {"baz": 3, "qux": 4}}, + ]} + note: walkbuiltin/partially ground path + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - 0 + - bar + - 2 + - - 0 + - foo + - 1 + - - 1 + - baz + - 3 + - - 1 + - qux + - 4 diff --git a/test/cases/testdata/walkbuiltin/test-walkbuiltin-wildcard-path.yaml b/test/cases/testdata/walkbuiltin/test-walkbuiltin-wildcard-path.yaml index e764c9c8fc..33ab09c186 100644 --- a/test/cases/testdata/walkbuiltin/test-walkbuiltin-wildcard-path.yaml +++ b/test/cases/testdata/walkbuiltin/test-walkbuiltin-wildcard-path.yaml @@ -1,28 +1,29 @@ +--- cases: - - modules: - - | - package testing + - modules: + - | + package testing - obj := { - "bar": "baz", - "qux": [ - 1, - {"p": "rego", "q": "rules"}, - {1, 2, 3, {"a": "b", "c": {"d", "e", 1}}} - ] - } + obj := { + "bar": "baz", + "qux": [ + 1, + {"p": "rego", "q": "rules"}, + {1, 2, 3, {"a": "b", "c": {"d", "e", 1}}} + ] + } - with_path[value] { - walk(obj, [path, value]) - } + with_path[value] { + walk(obj, [path, value]) + } - without_path[value] { - walk(obj, [_, value]) - } - - same_values := with_path == without_path + without_path[value] { + walk(obj, [_, value]) + } - note: "walkbuiltin/wildcard-path same values as when path provided" - query: x = data.testing.same_values - want_result: - - x: true + same_values := with_path == without_path + + note: "walkbuiltin/wildcard-path same values as when path provided" + query: x = data.testing.same_values + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-with-and-ndbcache-issue.yaml b/test/cases/testdata/withkeyword/test-with-and-ndbcache-issue.yaml index aaa125e0e9..bee7996659 100644 --- a/test/cases/testdata/withkeyword/test-with-and-ndbcache-issue.yaml +++ b/test/cases/testdata/withkeyword/test-with-and-ndbcache-issue.yaml @@ -1,16 +1,17 @@ +--- cases: -- modules: - - | - package rules + - modules: + - | + package rules - p { - time.now_ns(now) - } + p { + time.now_ns(now) + } - q { p with data.x as 7 } - note: "with: ndb_cache-issue" - query: data.rules = x - want_result: - - x: - p: true - q: true \ No newline at end of file + q { p with data.x as 7 } + note: "with: ndb_cache-issue" + query: data.rules = x + want_result: + - x: + p: true + q: true diff --git a/test/cases/testdata/withkeyword/test-with-builtin-mock.yaml b/test/cases/testdata/withkeyword/test-with-builtin-mock.yaml index 0dad7eb735..9e002905ca 100644 --- a/test/cases/testdata/withkeyword/test-with-builtin-mock.yaml +++ b/test/cases/testdata/withkeyword/test-with-builtin-mock.yaml @@ -1,451 +1,452 @@ +--- cases: -- modules: - - | - package test - - f() = 1 - p = y { - y = time.now_ns() with time.now_ns as f - } - note: 'withkeyword/builtin: direct call, arity 0' - query: data.test.p = x - want_result: - - x: 1 -- modules: - - | - package test - - f(_) = 1 - p = y { - y = count([1,2,3]) with count as f - } - note: 'withkeyword/builtin: direct call, arity 1' - query: data.test.p = x - want_result: - - x: 1 -- modules: - - | - package test - - f(_) = 1 - p { - q with count as f - } - q { - count([1,2,3]) == 1 - } - note: 'withkeyword/builtin: indirect call, arity 1' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - f() = 1 - p { - q with time.now_ns as f - } - q { - time.now_ns() == 1 - } - note: 'withkeyword/builtin: indirect call, arity 0' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - f() = 1 - p { - q with time.now_ns as f - not q - } - q { - time.now_ns() == 1 - } - note: 'withkeyword/builtin: indirect call, arity 0, rule queried with and without mock' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - f() = 1 - p { - q with time.now_ns as f - } - q { - time.now_ns() == 1 - } - note: 'withkeyword/builtin: indirect call, arity 0, query package' - query: data.test = x - want_result: - - x: - f: 1 - p: true -- modules: - - | - package test - import future.keywords.in - - pass_resp = {"body": {"roles": ["admin"]}} - deny_resp = {"body": {"roles": []}} - mock_http_send(req) = pass_resp { - req.body.name == "alice" - } else = deny_resp - - test_allow { - allow with http.send as mock_http_send with input.name as "alice" - } - - allow { - "admin" in http.send({"method": "GET", "body": input}).body.roles - } - note: 'withkeyword/builtin: http.send example' - query: data.test.test_allow = x - want_result: - - x: true -- modules: - - | - package test - import future.keywords.in - - pass_resp = {"body": {"jwt": "myjot"}} - deny_resp = {"body"} - mock_http_send(req) = pass_resp { - req.body.name == "alice" - } else = deny_resp - - mock_decode_verify("myjot", _) = [true, {}, {"owner": "alice"}] - - test_allow { - allow - with data.verification.cert as "cert" - with input.name as "alice" - with http.send as mock_http_send - with io.jwt.decode_verify as mock_decode_verify - } - - allow { - payload.owner == input.name - } - - claims[k] = v { - resp := http.send({"method": "GET", "body": input}).body - some k, v in resp - } - payload = p { - some p - [true, _, p] = io.jwt.decode_verify(claims.jwt, { "cert": data.verification.cert, "iss": "issuer"}) - } - note: 'withkeyword/builtin: nested, multiple mocks' - query: data.test.test_allow = x - want_result: - - x: true -- modules: - - | - package test - - f() = 1 - p { - q with time.now_ns as f - } - q { - valid_time(1) - } - valid_time(x) { time.now_ns() == x } - note: 'withkeyword/builtin: indirect call through function' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - f() = 1 - p { - q with time.now_ns as f - not q - } - q { - valid_time(1) - } - valid_time(x) { time.now_ns() == x } - note: 'withkeyword/builtin: indirect call through function, rule with and without mock' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - f() = 1 - p { - q with time.now_ns as f - } - q { - valid_time(1) - } - valid_time(x) { time.now_ns() == x } - note: 'withkeyword/builtin: indirect call through function, query package' - query: data.test = x - want_result: - - x: - f: 1 - p: true -- modules: - - | - package test - import future.keywords.in - - mock_count("one") = 1 - mock_count(x) = count(x) { - x != "one" - } - - numbers := {"one", "two", "tree"} - p = s { - s := { count(n) | some n in numbers } with count as mock_count - } - note: 'withkeyword/builtin: mock function calls original' - query: data.test.p = x - want_result: - - x: - - 1 - - 3 - - 4 -- modules: - - | - package test - import future.keywords.in - - mock_concat("one", _) = ["one"] - mock_concat("one", x) = x - - numbers := ["one", "one"] - p = s { - s := { concat(n, [n]) | some n in numbers } with concat as mock_concat - } - note: 'withkeyword/builtin: mock function returns same result for both rule defs' - query: data.test.p = x - want_result: - - x: [["one"]] -- modules: - - | - package test - import future.keywords.in - - mock_concat("one", _) = ["one"] - mock_concat("one", x) = x - - count_four(4) = 4 - count_four(x) = count(x) - - numbers := {"one", "two", "tree"} - q = s { - s := { concat(n, [n]) | some n in numbers } with concat as mock_concat - r - } - r { - count(input.four) == 4 - } - p = y { - y := q - with concat as mock_concat - with count as count_four - with input.four as 4 - } - note: 'withkeyword/builtin: nested, mock function calls original' - query: data.test.p = x - want_result: - - x: [["one"]] -- modules: - - | - package test - - f(_) = 1 - g(x) = count(x) # replaced with f by inner "with" - - q = y { - y = count([1,2,3]) with count as f - } - p = y { - y = q with count as g - } - note: 'withkeyword/builtin: multiple with' - query: data.test.p = x - want_result: - - x: 1 -- modules: - - | - package test - - f(x) = object.union_n(x) { { x: i | x := ["a", "a"][i]} } # never called, runtime error - g(x) = count(x) - p { - q with count as f - } - q { - r with object.union_n as g - } - r { - object.union_n([{}]) - } - note: 'withkeyword/builtin: mock will not call other mock' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - f(x) = object.union_n(x) # b1 - g(x) = 123 { - count(x) # b2 - s with array.reverse as h - } - h(_) = ["replaced"] - p { q with object.union_n as f } - q { r with count as g } - r { x := [{"foo": 4}, {"baz": 5}]; count(x) == 123; object.union_n(x) == {"foo": 4, "baz": 5} } - s { x := [{}]; array.reverse(x) == ["replaced"] } - note: 'withkeyword/builtin: nested scope handling' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - p = y { - y = time.now_ns() with time.now_ns as 12300 - } - note: 'withkeyword/builtin-value: arity-0, captured output' - query: data.test.p = x - want_result: - - x: 12300 -- modules: - - | - package test - - p { - time.now_ns() with time.now_ns as false - } - note: 'withkeyword/builtin-value: arity-0, false' - query: data.test.p = x - want_result: [] -- modules: - - | - package test - - p { - time.now_ns() with time.now_ns as true - } - note: 'withkeyword/builtin-value: arity-0' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - p { - x := true - time.now_ns() with time.now_ns as x - } - note: 'withkeyword/builtin-value: arity-0, var' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - p { - count([]) == 1 with count as 1 - } - note: 'withkeyword/builtin-value: arity-1' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - p { - count([], 1) with count as 1 - } - note: 'withkeyword/builtin-value: arity-1, captured' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - - p { - count(input) == 1 with count as 1 - } - note: 'withkeyword/builtin-value: arity-1, input must still be defined' - query: data.test.p = x - want_result: [] -- modules: - - | - package test - - p = x { - x = time.now_ns() with time.now_ns as opa.runtime - } - note: 'withkeyword/builtin-builtin: arity 0' - query: data.test.p = x - want_result: - - x: {} -- modules: - - | - package test - - p = x { - x = count([{}, {"foo": 3}]) with count as object.union_n - } - note: 'withkeyword/builtin-builtin: arity 1, replacement is compound' - query: data.test.p = x - want_result: - - x: - foo: 3 -- modules: - - | - package test - - p = x { - x = object.union_n([{}, {"foo": 3}]) with object.union_n as count - } - note: 'withkeyword/builtin-builtin: arity 1, replacement is simple' - query: data.test.p = x - want_result: - - x: 2 -- modules: - - | - package test - p { - count([1,2,3]) == 1 with count as [1|true][0] - } - note: 'withkeyword/builtin: direct call, arity 1, replacement is value that needs eval (array comprehension)' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - p { - q with count as [1|true][0] - } - q { - count([1,2,3]) == 1 - } - note: 'withkeyword/builtin: indirect call, arity 1, replacement is value that needs eval (array comprehension)' - query: data.test.p = x - want_result: - - x: true \ No newline at end of file + - modules: + - | + package test + + f() = 1 + p = y { + y = time.now_ns() with time.now_ns as f + } + note: "withkeyword/builtin: direct call, arity 0" + query: data.test.p = x + want_result: + - x: 1 + - modules: + - | + package test + + f(_) = 1 + p = y { + y = count([1,2,3]) with count as f + } + note: "withkeyword/builtin: direct call, arity 1" + query: data.test.p = x + want_result: + - x: 1 + - modules: + - | + package test + + f(_) = 1 + p { + q with count as f + } + q { + count([1,2,3]) == 1 + } + note: "withkeyword/builtin: indirect call, arity 1" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + f() = 1 + p { + q with time.now_ns as f + } + q { + time.now_ns() == 1 + } + note: "withkeyword/builtin: indirect call, arity 0" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + f() = 1 + p { + q with time.now_ns as f + not q + } + q { + time.now_ns() == 1 + } + note: "withkeyword/builtin: indirect call, arity 0, rule queried with and without mock" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + f() = 1 + p { + q with time.now_ns as f + } + q { + time.now_ns() == 1 + } + note: "withkeyword/builtin: indirect call, arity 0, query package" + query: data.test = x + want_result: + - x: + f: 1 + p: true + - modules: + - | + package test + import future.keywords.in + + pass_resp = {"body": {"roles": ["admin"]}} + deny_resp = {"body": {"roles": []}} + mock_http_send(req) = pass_resp { + req.body.name == "alice" + } else = deny_resp + + test_allow { + allow with http.send as mock_http_send with input.name as "alice" + } + + allow { + "admin" in http.send({"method": "GET", "body": input}).body.roles + } + note: "withkeyword/builtin: http.send example" + query: data.test.test_allow = x + want_result: + - x: true + - modules: + - | + package test + import future.keywords.in + + pass_resp = {"body": {"jwt": "myjot"}} + deny_resp = {"body"} + mock_http_send(req) = pass_resp { + req.body.name == "alice" + } else = deny_resp + + mock_decode_verify("myjot", _) = [true, {}, {"owner": "alice"}] + + test_allow { + allow + with data.verification.cert as "cert" + with input.name as "alice" + with http.send as mock_http_send + with io.jwt.decode_verify as mock_decode_verify + } + + allow { + payload.owner == input.name + } + + claims[k] = v { + resp := http.send({"method": "GET", "body": input}).body + some k, v in resp + } + payload = p { + some p + [true, _, p] = io.jwt.decode_verify(claims.jwt, { "cert": data.verification.cert, "iss": "issuer"}) + } + note: "withkeyword/builtin: nested, multiple mocks" + query: data.test.test_allow = x + want_result: + - x: true + - modules: + - | + package test + + f() = 1 + p { + q with time.now_ns as f + } + q { + valid_time(1) + } + valid_time(x) { time.now_ns() == x } + note: "withkeyword/builtin: indirect call through function" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + f() = 1 + p { + q with time.now_ns as f + not q + } + q { + valid_time(1) + } + valid_time(x) { time.now_ns() == x } + note: "withkeyword/builtin: indirect call through function, rule with and without mock" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + f() = 1 + p { + q with time.now_ns as f + } + q { + valid_time(1) + } + valid_time(x) { time.now_ns() == x } + note: "withkeyword/builtin: indirect call through function, query package" + query: data.test = x + want_result: + - x: + f: 1 + p: true + - modules: + - | + package test + import future.keywords.in + + mock_count("one") = 1 + mock_count(x) = count(x) { + x != "one" + } + + numbers := {"one", "two", "tree"} + p = s { + s := { count(n) | some n in numbers } with count as mock_count + } + note: "withkeyword/builtin: mock function calls original" + query: data.test.p = x + want_result: + - x: + - 1 + - 3 + - 4 + - modules: + - | + package test + import future.keywords.in + + mock_concat("one", _) = ["one"] + mock_concat("one", x) = x + + numbers := ["one", "one"] + p = s { + s := { concat(n, [n]) | some n in numbers } with concat as mock_concat + } + note: "withkeyword/builtin: mock function returns same result for both rule defs" + query: data.test.p = x + want_result: + - x: [["one"]] + - modules: + - | + package test + import future.keywords.in + + mock_concat("one", _) = ["one"] + mock_concat("one", x) = x + + count_four(4) = 4 + count_four(x) = count(x) + + numbers := {"one", "two", "tree"} + q = s { + s := { concat(n, [n]) | some n in numbers } with concat as mock_concat + r + } + r { + count(input.four) == 4 + } + p = y { + y := q + with concat as mock_concat + with count as count_four + with input.four as 4 + } + note: "withkeyword/builtin: nested, mock function calls original" + query: data.test.p = x + want_result: + - x: [["one"]] + - modules: + - | + package test + + f(_) = 1 + g(x) = count(x) # replaced with f by inner "with" + + q = y { + y = count([1,2,3]) with count as f + } + p = y { + y = q with count as g + } + note: "withkeyword/builtin: multiple with" + query: data.test.p = x + want_result: + - x: 1 + - modules: + - | + package test + + f(x) = object.union_n(x) { { x: i | x := ["a", "a"][i]} } # never called, runtime error + g(x) = count(x) + p { + q with count as f + } + q { + r with object.union_n as g + } + r { + object.union_n([{}]) + } + note: "withkeyword/builtin: mock will not call other mock" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + f(x) = object.union_n(x) # b1 + g(x) = 123 { + count(x) # b2 + s with array.reverse as h + } + h(_) = ["replaced"] + p { q with object.union_n as f } + q { r with count as g } + r { x := [{"foo": 4}, {"baz": 5}]; count(x) == 123; object.union_n(x) == {"foo": 4, "baz": 5} } + s { x := [{}]; array.reverse(x) == ["replaced"] } + note: "withkeyword/builtin: nested scope handling" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + p = y { + y = time.now_ns() with time.now_ns as 12300 + } + note: "withkeyword/builtin-value: arity-0, captured output" + query: data.test.p = x + want_result: + - x: 12300 + - modules: + - | + package test + + p { + time.now_ns() with time.now_ns as false + } + note: "withkeyword/builtin-value: arity-0, false" + query: data.test.p = x + want_result: [] + - modules: + - | + package test + + p { + time.now_ns() with time.now_ns as true + } + note: "withkeyword/builtin-value: arity-0" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + p { + x := true + time.now_ns() with time.now_ns as x + } + note: "withkeyword/builtin-value: arity-0, var" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + p { + count([]) == 1 with count as 1 + } + note: "withkeyword/builtin-value: arity-1" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + p { + count([], 1) with count as 1 + } + note: "withkeyword/builtin-value: arity-1, captured" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + + p { + count(input) == 1 with count as 1 + } + note: "withkeyword/builtin-value: arity-1, input must still be defined" + query: data.test.p = x + want_result: [] + - modules: + - | + package test + + p = x { + x = time.now_ns() with time.now_ns as opa.runtime + } + note: "withkeyword/builtin-builtin: arity 0" + query: data.test.p = x + want_result: + - x: {} + - modules: + - | + package test + + p = x { + x = count([{}, {"foo": 3}]) with count as object.union_n + } + note: "withkeyword/builtin-builtin: arity 1, replacement is compound" + query: data.test.p = x + want_result: + - x: + foo: 3 + - modules: + - | + package test + + p = x { + x = object.union_n([{}, {"foo": 3}]) with object.union_n as count + } + note: "withkeyword/builtin-builtin: arity 1, replacement is simple" + query: data.test.p = x + want_result: + - x: 2 + - modules: + - | + package test + p { + count([1,2,3]) == 1 with count as [1|true][0] + } + note: "withkeyword/builtin: direct call, arity 1, replacement is value that needs eval (array comprehension)" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + p { + q with count as [1|true][0] + } + q { + count([1,2,3]) == 1 + } + note: "withkeyword/builtin: indirect call, arity 1, replacement is value that needs eval (array comprehension)" + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-with-function-mock.yaml b/test/cases/testdata/withkeyword/test-with-function-mock.yaml index 3020aa4cdf..b439ace9cb 100644 --- a/test/cases/testdata/withkeyword/test-with-function-mock.yaml +++ b/test/cases/testdata/withkeyword/test-with-function-mock.yaml @@ -1,127 +1,128 @@ +--- cases: -- modules: - - | - package test - f(_) = 2 - p = y { - y = f(true) with f as 1 - } - note: 'withkeyword/function: direct call, value replacement, arity 1' # NOTE(sr): arity-0 functions fail typechecking - query: data.test.p = x - want_result: - - x: 1 -- modules: - - | - package test - f(_) = 2 - g(_) = 1 - p = y { - y = f(true) with f as g - } - note: 'withkeyword/function: direct call, function replacement, arity 1' - query: data.test.p = x - want_result: - - x: 1 -- modules: - - | - package test - f(_) = 2 - g(_) = 1 - p { - f(true, 1) with f as g - } - note: 'withkeyword/function: direct call, function replacement, arity 1, result captured' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - f(_) = 2 - p = y { - y = f([1]) with f as count - } - note: 'withkeyword/function: direct call, built-in replacement, arity 1' - query: data.test.p = x - want_result: - - x: 1 -- modules: - - | - package test - f(_) = 2 - p { - f([1], 1) with f as count - } - note: 'withkeyword/function: direct call, built-in replacement, arity 1, result captured' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test + - modules: + - | + package test + f(_) = 2 + p = y { + y = f(true) with f as 1 + } + note: "withkeyword/function: direct call, value replacement, arity 1" # NOTE(sr): arity-0 functions fail typechecking + query: data.test.p = x + want_result: + - x: 1 + - modules: + - | + package test + f(_) = 2 + g(_) = 1 + p = y { + y = f(true) with f as g + } + note: "withkeyword/function: direct call, function replacement, arity 1" + query: data.test.p = x + want_result: + - x: 1 + - modules: + - | + package test + f(_) = 2 + g(_) = 1 + p { + f(true, 1) with f as g + } + note: "withkeyword/function: direct call, function replacement, arity 1, result captured" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + f(_) = 2 + p = y { + y = f([1]) with f as count + } + note: "withkeyword/function: direct call, built-in replacement, arity 1" + query: data.test.p = x + want_result: + - x: 1 + - modules: + - | + package test + f(_) = 2 + p { + f([1], 1) with f as count + } + note: "withkeyword/function: direct call, built-in replacement, arity 1, result captured" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test - f1(x) = object.union_n(x) - f2(x) = count(x) - f3(x) = array.reverse(x) - f(x) = f1(x) - g(x) = 123 { - f2(x) - s with f3 as h - } - h(_) = ["replaced"] - p { q with f1 as f } - q { r with f2 as g } - r { x := [{"foo": 4}, {"baz": 5}]; f2(x) == 123; f1(x) == {"foo": 4, "baz": 5} } - s { x := [{}]; f3(x) == ["replaced"] } - note: 'withkeyword/function: nested scope handling' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test + f1(x) = object.union_n(x) + f2(x) = count(x) + f3(x) = array.reverse(x) + f(x) = f1(x) + g(x) = 123 { + f2(x) + s with f3 as h + } + h(_) = ["replaced"] + p { q with f1 as f } + q { r with f2 as g } + r { x := [{"foo": 4}, {"baz": 5}]; f2(x) == 123; f1(x) == {"foo": 4, "baz": 5} } + s { x := [{}]; f3(x) == ["replaced"] } + note: "withkeyword/function: nested scope handling" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test - f(x) = 2 - g(x) = f(x) - p = y { y := f(1) with f as g } - note: 'withkeyword/function: simple scope handling (no recursion here)' - query: data.test.p = x - want_result: - - x: 2 -- modules: - - | - package test + f(x) = 2 + g(x) = f(x) + p = y { y := f(1) with f as g } + note: "withkeyword/function: simple scope handling (no recursion here)" + query: data.test.p = x + want_result: + - x: 2 + - modules: + - | + package test - f(_) = 1 { - input.x = "x" - } - p = y { y := f(1) with f as 2 } - note: 'withkeyword/function: rule indexing irrelevant' - query: data.test.p = x - want_result: - - x: 2 -- modules: - - | - package test - f(_) = 1 - p { - f([1,2,3]) == 1 with f as [1|true][0] - } - note: 'withkeyword/function: direct call, arity 1, replacement is value that needs eval (array comprehension)' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - f(_) = 1 - p { - q with f as [1|true][0] - } - q { - f([1,2,3]) == 1 - } - note: 'withkeyword/function: indirect call, arity 1, replacement is value that needs eval (array comprehension)' - query: data.test.p = x - want_result: - - x: true \ No newline at end of file + f(_) = 1 { + input.x = "x" + } + p = y { y := f(1) with f as 2 } + note: "withkeyword/function: rule indexing irrelevant" + query: data.test.p = x + want_result: + - x: 2 + - modules: + - | + package test + f(_) = 1 + p { + f([1,2,3]) == 1 with f as [1|true][0] + } + note: "withkeyword/function: direct call, arity 1, replacement is value that needs eval (array comprehension)" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + f(_) = 1 + p { + q with f as [1|true][0] + } + q { + f([1,2,3]) == 1 + } + note: "withkeyword/function: indirect call, arity 1, replacement is value that needs eval (array comprehension)" + query: data.test.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-with-function-mocks-issue-5299.yaml b/test/cases/testdata/withkeyword/test-with-function-mocks-issue-5299.yaml index d36e53f68a..25e1c6280e 100644 --- a/test/cases/testdata/withkeyword/test-with-function-mocks-issue-5299.yaml +++ b/test/cases/testdata/withkeyword/test-with-function-mocks-issue-5299.yaml @@ -1,59 +1,60 @@ +--- cases: -- modules: - - | - package test - f(_) = 2 - f0 := 1 # a rule - p = y { - y = f(true) with f as f0 - } - note: 'withkeyword/function: direct call, rule replacement' - query: data.test.p = x - want_result: - - x: 1 -- modules: - - | - package test - f(_) = 2 - f0 := 1 # a rule - p { - f(true, 1) with f as f0 - } - note: 'withkeyword/function: captured result, rule replacement' - query: data.test.p = x - want_result: - - x: true -- modules: - - | - package test - f := 1 # a rule - p = y { - y = time.now_ns() with time.now_ns as f - } - note: 'withkeyword/builtin: direct call, arity 0, rule replacement' - query: data.test.p = x - want_result: - - x: 1 -- modules: - - | - package test - f := 1 # a rule - p = y { - y = count([1,2,3]) with count as f - } - note: 'withkeyword/builtin: direct call, arity 1, rule replacement' - query: data.test.p = x - want_result: - - x: 1 -- modules: - - | - package test - f := 1 # a rule - g(x) := count(x) - p = y { - y = g([1,2,3]) with count as f - } - note: 'withkeyword/builtin: indirect call, arity 1, rule replacement' - query: data.test.p = x - want_result: - - x: 1 \ No newline at end of file + - modules: + - | + package test + f(_) = 2 + f0 := 1 # a rule + p = y { + y = f(true) with f as f0 + } + note: "withkeyword/function: direct call, rule replacement" + query: data.test.p = x + want_result: + - x: 1 + - modules: + - | + package test + f(_) = 2 + f0 := 1 # a rule + p { + f(true, 1) with f as f0 + } + note: "withkeyword/function: captured result, rule replacement" + query: data.test.p = x + want_result: + - x: true + - modules: + - | + package test + f := 1 # a rule + p = y { + y = time.now_ns() with time.now_ns as f + } + note: "withkeyword/builtin: direct call, arity 0, rule replacement" + query: data.test.p = x + want_result: + - x: 1 + - modules: + - | + package test + f := 1 # a rule + p = y { + y = count([1,2,3]) with count as f + } + note: "withkeyword/builtin: direct call, arity 1, rule replacement" + query: data.test.p = x + want_result: + - x: 1 + - modules: + - | + package test + f := 1 # a rule + g(x) := count(x) + p = y { + y = g([1,2,3]) with count as f + } + note: "withkeyword/builtin: indirect call, arity 1, rule replacement" + query: data.test.p = x + want_result: + - x: 1 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1015.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1015.yaml index 5cfe09518f..51fa863e6b 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1015.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1015.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.ex.loopback with input as true - data.ex.loopback = false with input as false - } - - | - package ex + p { + data.ex.loopback with input as true + data.ex.loopback = false with input as false + } + - | + package ex - loopback = __local0__ { - true - __local0__ = input - } - note: withkeyword/with - query: data.generated.p = x - want_result: - - x: true + loopback = __local0__ { + true + __local0__ = input + } + note: withkeyword/with + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1016.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1016.yaml index 13d97240a7..0125853c46 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1016.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1016.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - not data.ex.loopback with input as false - data.ex.loopback with input as true - } - - | - package ex + p { + not data.ex.loopback with input as false + data.ex.loopback with input as true + } + - | + package ex - loopback = __local0__ { - true - __local0__ = input - } - note: withkeyword/with not - query: data.generated.p = x - want_result: - - x: true + loopback = __local0__ { + true + __local0__ = input + } + note: withkeyword/with not + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1017.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1017.yaml index a9595c716e..5f05c2f5aa 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1017.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1017.yaml @@ -1,23 +1,24 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.ex.composite[x] with input.foo as [1, 2, 3, 4] - } - - | - package ex + p[x] { + data.ex.composite[x] with input.foo as [1, 2, 3, 4] + } + - | + package ex - composite[x] { - input.foo[_] = x - x > 2 - } - note: withkeyword/with composite - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 - - 4 + composite[x] { + input.foo[_] = x + x > 2 + } + note: withkeyword/with composite + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 + - 4 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1018.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1018.yaml index 58f3afc0d3..5490426e7c 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1018.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1018.yaml @@ -1,25 +1,26 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = x { - foo = "hello" - bar = "world" - x = data.ex.vars with input.foo as foo with input.bar as bar - } - - | - package ex + p = x { + foo = "hello" + bar = "world" + x = data.ex.vars with input.foo as foo with input.bar as bar + } + - | + package ex - vars = x { - y = input.bar - z = input.foo - x = {"bar": y, "foo": z} - } - note: withkeyword/with vars - query: data.generated.p = x - want_result: - - x: - bar: world - foo: hello + vars = x { + y = input.bar + z = input.foo + x = {"bar": y, "foo": z} + } + note: withkeyword/with vars + query: data.generated.p = x + want_result: + - x: + bar: world + foo: hello diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1019.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1019.yaml index 6c01cb4b14..77342d8a2b 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1019.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1019.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = x { - x := data.ex.loopback with input.foo as "x" with input.foo.bar as "y" - } - - | - package ex + p = x { + x := data.ex.loopback with input.foo as "x" with input.foo.bar as "y" + } + - | + package ex - loopback = y { - true - y = input - } - note: withkeyword/with conflict - query: data.generated.p = x - want_result: - - x: - foo: - bar: "y" + loopback = y { + true + y = input + } + note: withkeyword/with conflict + query: data.generated.p = x + want_result: + - x: + foo: + bar: "y" diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1020.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1020.yaml index 8a09d37e26..800bb7cb66 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1020.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1020.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: {} - input_term: '{"a": {"d": 3}, "e": 4}' - modules: - - | - package generated + - data: {} + input_term: '{"a": {"d": 3}, "e": 4}' + modules: + - | + package generated - r = __local0__ { - true - __local0__ = input - } + r = __local0__ { + true + __local0__ = input + } - q = x { - data.generated.r = x with input.a.c as 2 - } + q = x { + data.generated.r = x with input.a.c as 2 + } - p = x { - data.generated.q = x with input.a.b as 1 - } - note: withkeyword/with stack - query: data.generated.p = x - want_result: - - x: - a: - b: 1 - c: 2 - d: 3 - e: 4 + p = x { + data.generated.q = x with input.a.b as 1 + } + note: withkeyword/with stack + query: data.generated.p = x + want_result: + - x: + a: + b: 1 + c: 2 + d: 3 + e: 4 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1021.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1021.yaml index c6790be342..75cd5d50d4 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1021.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1021.yaml @@ -1,29 +1,30 @@ +--- cases: -- data: {} - input_term: '{"a": {"d": 3}, "e": 4}' - modules: - - | - package generated + - data: {} + input_term: '{"a": {"d": 3}, "e": 4}' + modules: + - | + package generated - r = __local0__ { - true - __local0__ = input - } + r = __local0__ { + true + __local0__ = input + } - q = x { - not false with input as {} - data.generated.r = x with input.a.c as 2 - } + q = x { + not false with input as {} + data.generated.r = x with input.a.c as 2 + } - p = x { - data.generated.q = x with input.a.b as 1 - } - note: withkeyword/with not stack - query: data.generated.p = x - want_result: - - x: - a: - b: 1 - c: 2 - d: 3 - e: 4 + p = x { + data.generated.q = x with input.a.b as 1 + } + note: withkeyword/with not stack + query: data.generated.p = x + want_result: + - x: + a: + b: 1 + c: 2 + d: 3 + e: 4 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1022.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1022.yaml index 66e8b0e86a..492636d2a4 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1022.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1022.yaml @@ -1,35 +1,36 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - r = __local0__ { - true - __local0__ = data.test - } + r = __local0__ { + true + __local0__ = data.test + } - q = x { - data.generated.r = x with data.test.a.c as 2 - } + q = x { + data.generated.r = x with data.test.a.c as 2 + } - p = x { - data.generated.q = x with data.test.a.b as 1 - } - - | - package test.a + p = x { + data.generated.q = x with data.test.a.b as 1 + } + - | + package test.a - d = 3 - - | - package test + d = 3 + - | + package test - e = 4 - note: withkeyword/with stack (data) - query: data.generated.p = x - want_result: - - x: - a: - b: 1 - c: 2 - d: 3 - e: 4 + e = 4 + note: withkeyword/with stack (data) + query: data.generated.p = x + want_result: + - x: + a: + b: 1 + c: 2 + d: 3 + e: 4 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1023.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1023.yaml index c7022ceb66..53859095b1 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1023.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1023.yaml @@ -1,44 +1,45 @@ +--- cases: -- data: {} - modules: - - | - package test.a + - data: {} + modules: + - | + package test.a - d = 3 - - | - package test + d = 3 + - | + package test - e = 4 - - | - package generated + e = 4 + - | + package generated - r = __local0__ { - true - __local0__ = data.test - } + r = __local0__ { + true + __local0__ = data.test + } - n1 { - data.test.a.z = 7 - } + n1 { + data.test.a.z = 7 + } - n { - not data.generated.n1 - } + n { + not data.generated.n1 + } - q = x { - not data.generated.n with data.test.a.z as 7 - data.generated.r = x with data.test.a.c as 2 - } + q = x { + not data.generated.n with data.test.a.z as 7 + data.generated.r = x with data.test.a.c as 2 + } - p = x { - data.generated.q = x with data.test.a.b as 1 - } - note: withkeyword/with not stack (data) - query: data.generated.p = x - want_result: - - x: - a: - b: 1 - c: 2 - d: 3 - e: 4 + p = x { + data.generated.q = x with data.test.a.b as 1 + } + note: withkeyword/with not stack (data) + query: data.generated.p = x + want_result: + - x: + a: + b: 1 + c: 2 + d: 3 + e: 4 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1024.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1024.yaml index bb8250fbcc..b6e7c6afbc 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1024.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1024.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - input_term: '{"a": {"b": 1, "c": 2}}' - modules: - - | - package generated + - data: {} + input_term: '{"a": {"b": 1, "c": 2}}' + modules: + - | + package generated - q = __local0__ { - true - __local0__ = input - } + q = __local0__ { + true + __local0__ = input + } - p = x { - data.generated.q = x with input.a as {"d": 3} - } - note: withkeyword/with stack overwrites - query: data.generated.p = x - want_result: - - x: - a: - d: 3 + p = x { + data.generated.q = x with input.a as {"d": 3} + } + note: withkeyword/with stack overwrites + query: data.generated.p = x + want_result: + - x: + a: + d: 3 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1025.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1025.yaml index 3b0984165a..33f2ef270d 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1025.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1025.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - q = __local0__ { - true - __local0__ = data.test - } + q = __local0__ { + true + __local0__ = data.test + } - p = x { - data.generated.q = x with data.test.a as {"d": 3} - } - - | - package test + p = x { + data.generated.q = x with data.test.a as {"d": 3} + } + - | + package test - a = {"b": 1, "c": 2} - note: withkeyword/with stack overwrites (data) - query: data.generated.p = x - want_result: - - x: - a: - d: 3 + a = {"b": 1, "c": 2} + note: withkeyword/with stack overwrites (data) + query: data.generated.p = x + want_result: + - x: + a: + d: 3 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1026.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1026.yaml index f5c3b95a7a..23c7780459 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1026.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1026.yaml @@ -1,29 +1,30 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p[x] { - data.a[_] = x - not data.ex.input_eq with input.x as x - } - - | - package ex + p[x] { + data.a[_] = x + not data.ex.input_eq with input.x as x + } + - | + package ex - input_eq { - input.x = 1 - } - note: withkeyword/with invalidate - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 2 - - 3 - - 4 + input_eq { + input.x = 1 + } + note: withkeyword/with invalidate + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 2 + - 3 + - 4 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1027.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1027.yaml index 552f8d4cd5..2d0bceb3f7 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1027.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1027.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - input_term: '"b"' - modules: - - | - package generated + - data: {} + input_term: '"b"' + modules: + - | + package generated - p = [x, y] { - x = input with input as "a" - y = input - } - note: withkeyword/with invalidate input stack - query: data.generated.p = x - want_result: - - x: - - a - - b + p = [x, y] { + x = input with input as "a" + y = input + } + note: withkeyword/with invalidate input stack + query: data.generated.p = x + want_result: + - x: + - a + - b diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1028.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1028.yaml index 8f7f13f628..59506e6831 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1028.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1028.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: {} - input_term: '"c"' - modules: - - | - package generated + - data: {} + input_term: '"c"' + modules: + - | + package generated - q[x] { - input[_] = x - } + q[x] { + input[_] = x + } - p[[x, y]] { - data.generated.q[x] with input as ["a", "b"] - y = input - } - note: withkeyword/with invalidate input stack iteration - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - a - - c - - - b - - c + p[[x, y]] { + data.generated.q[x] with input as ["a", "b"] + y = input + } + note: withkeyword/with invalidate input stack iteration + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - a + - c + - - b + - c diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1029.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1029.yaml index f9a20fdd25..e79ab0ceb5 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1029.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1029.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: {} - input_term: '2' - modules: - - | - package generated + - data: {} + input_term: "2" + modules: + - | + package generated - q = "a" { - input = x - x = 1 - } + q = "a" { + input = x + x = 1 + } - q = "b" { - input = x - x = 2 - } + q = "b" { + input = x + x = 2 + } - p = [x, y] { - data.generated.q = x with input as 1 - data.generated.q = y - } - note: withkeyword/with invalidate virtual cache - query: data.generated.p = x - want_result: - - x: - - a - - b + p = [x, y] { + data.generated.q = x with input as 1 + data.generated.q = y + } + note: withkeyword/with invalidate virtual cache + query: data.generated.p = x + want_result: + - x: + - a + - b diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1030.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1030.yaml index 1e6b2003b1..5a27e992b3 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1030.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1030.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - q = "b" + q = "b" - p = [x, y] { - data.generated.q = x with data.generated.q as "a" - data.generated.q = y - } - note: withkeyword/with invalidate data stack - query: data.generated.p = x - want_result: - - x: - - a - - b + p = [x, y] { + data.generated.q = x with data.generated.q as "a" + data.generated.q = y + } + note: withkeyword/with invalidate data stack + query: data.generated.p = x + want_result: + - x: + - a + - b diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1031.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1031.yaml index 23b3cdf132..7817bd1973 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1031.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1031.yaml @@ -1,21 +1,22 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - q["c"] + q["c"] - p[[x, y]] { - data.generated.q[x] with data.generated.q as {"a", "b"} - y = data.generated.q - } - note: withkeyword/with invalidate data stack iteration - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - a - - - c - - - b - - - c + p[[x, y]] { + data.generated.q[x] with data.generated.q as {"a", "b"} + y = data.generated.q + } + note: withkeyword/with invalidate data stack iteration + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - a + - - c + - - b + - - c diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1032.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1032.yaml index 55bee69494..9d3e714319 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1032.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1032.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.ex.allow_basic = true with data.a as "testdata" - } - - | - package ex + p { + data.ex.allow_basic = true with data.a as "testdata" + } + - | + package ex - allow_basic { - data.a = "testdata" - } - note: withkeyword/with basic data - query: data.generated.p = x - want_result: - - x: true + allow_basic { + data.a = "testdata" + } + note: withkeyword/with basic data + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1033.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1033.yaml index e957aa2ed4..6e3e36980d 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1033.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1033.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p { - data.ex.allow_merge_1 = true with data.b.v2 as "world" - } - - | - package ex + p { + data.ex.allow_merge_1 = true with data.b.v2 as "world" + } + - | + package ex - allow_merge_1 { - data.b = {"v1": "hello", "v2": "world"} - } - note: withkeyword/with map data overwrite - query: data.generated.p = x - want_result: - - x: true + allow_merge_1 { + data.b = {"v1": "hello", "v2": "world"} + } + note: withkeyword/with map data overwrite + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1034.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1034.yaml index f32d388078..d795c5915f 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1034.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1034.yaml @@ -1,27 +1,28 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - b: - v1: hello - v2: goodbye - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + b: + v1: hello + v2: goodbye + modules: + - | + package generated - p { - data.ex.allow_merge_2 = true with data.b.v2 as "world" with data.b.v3 as "again" - } - - | - package ex + p { + data.ex.allow_merge_2 = true with data.b.v2 as "world" with data.b.v3 as "again" + } + - | + package ex - allow_merge_2 { - data.b = {"v1": "hello", "v2": "world", "v3": "again"} - } - note: withkeyword/with map data new key - query: data.generated.p = x - want_result: - - x: true + allow_merge_2 { + data.b = {"v1": "hello", "v2": "world", "v3": "again"} + } + note: withkeyword/with map data new key + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1035.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1035.yaml index 6c4fe62a0b..fc857fd3c4 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1035.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1035.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - default p = false - p { - data.ex.allow_basic = true with data.a.b as 5 - } - - | - package ex + default p = false + p { + data.ex.allow_basic = true with data.a.b as 5 + } + - | + package ex - allow_basic { - data.a = "testdata" - } - note: withkeyword/with data conflict - query: data.generated.p = x - want_result: - - x: false + allow_basic { + data.a = "testdata" + } + note: withkeyword/with data conflict + query: data.generated.p = x + want_result: + - x: false diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1036.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1036.yaml index 3aa4022412..d9b5149535 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1036.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1036.yaml @@ -1,16 +1,17 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.a.b[x] = 1 with data.a.b as {"c": 1, "d": 2, "e": 1} - } - note: withkeyword/with base doc exact value - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - c - - e + p[x] { + data.a.b[x] = 1 with data.a.b as {"c": 1, "d": 2, "e": 1} + } + note: withkeyword/with base doc exact value + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - c + - e diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1037.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1037.yaml index d5f22174ac..f646b04d92 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1037.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1037.yaml @@ -1,17 +1,18 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.a.b[x] with data.a.b as {"c": 1, "d": 2, "e": 1} - } - note: withkeyword/with base doc any index - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - c - - d - - e + p[x] { + data.a.b[x] with data.a.b as {"c": 1, "d": 2, "e": 1} + } + note: withkeyword/with base doc any index + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - c + - d + - e diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1038.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1038.yaml index 3455ee743e..e4e11d5dc6 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1038.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1038.yaml @@ -1,12 +1,13 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.a.b.c with data.a.b as 1 - } - note: withkeyword/undefined_1 - query: data.generated.p = x - want_result: [] + p { + data.a.b.c with data.a.b as 1 + } + note: withkeyword/undefined_1 + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1039.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1039.yaml index b8169840a8..470a349d89 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1039.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1039.yaml @@ -1,28 +1,29 @@ +--- cases: -- data: - l: - - a: bob - b: -1 - c: - - 1 - - 2 - - 3 - - 4 - - a: alice - b: 1 - c: - - 2 - - 3 - - 4 - - 5 - d: null - modules: - - | - package generated + - data: + l: + - a: bob + b: -1 + c: + - 1 + - 2 + - 3 + - 4 + - a: alice + b: 1 + c: + - 2 + - 3 + - 4 + - 5 + d: null + modules: + - | + package generated - p { - data.l.a with data.l as 1 - } - note: withkeyword/undefined_2 - query: data.generated.p = x - want_result: [] + p { + data.l.a with data.l as 1 + } + note: withkeyword/undefined_2 + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1040.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1040.yaml index 10f8fe2e2c..c9c7a0206a 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1040.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1040.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.ex.virtual = x with data.a.b as {"c": 1, "d": 2, "e": 1} - } - - | - package ex + p[x] { + data.ex.virtual = x with data.a.b as {"c": 1, "d": 2, "e": 1} + } + - | + package ex - virtual[x] { - data.a.b[x] = 1 - } - note: withkeyword/with virtual doc exact value - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - c - - e + virtual[x] { + data.a.b[x] = 1 + } + note: withkeyword/with virtual doc exact value + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - c + - e diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1041.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1041.yaml index b346d81097..b57b0757f4 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1041.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1041.yaml @@ -1,22 +1,23 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p[x] { - data.ex.virtual[x] with data.a.b as {"c": 1, "d": 2, "e": 1} - } - - | - package ex + p[x] { + data.ex.virtual[x] with data.a.b as {"c": 1, "d": 2, "e": 1} + } + - | + package ex - virtual[x] { - data.a.b[x] = 1 - } - note: withkeyword/with virtual doc any index - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - c - - e + virtual[x] { + data.a.b[x] = 1 + } + note: withkeyword/with virtual doc any index + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - c + - e diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1042.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1042.yaml index 6d64e8683a..d124f0278d 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1042.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1042.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = y { - y = data.ex.virtual.c with data.a.b as {"c": 1, "d": 2, "e": 1} - } - - | - package ex + p = y { + y = data.ex.virtual.c with data.a.b as {"c": 1, "d": 2, "e": 1} + } + - | + package ex - virtual[x] { - data.a.b[x] = 1 - } - note: withkeyword/with virtual doc specific index - query: data.generated.p = x - want_result: - - x: c + virtual[x] { + data.a.b[x] = 1 + } + note: withkeyword/with virtual doc specific index + query: data.generated.p = x + want_result: + - x: c diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1043.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1043.yaml index 482f9f412b..ac0e568acc 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1043.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1043.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - not data.ex.virtual.d with data.a.b as {"c": 1, "d": 2, "e": 1} - } - - | - package ex + p { + not data.ex.virtual.d with data.a.b as {"c": 1, "d": 2, "e": 1} + } + - | + package ex - virtual[x] { - data.a.b[x] = 1 - } - note: withkeyword/with virtual doc not specific index - query: data.generated.p = x - want_result: - - x: true + virtual[x] { + data.a.b[x] = 1 + } + note: withkeyword/with virtual doc not specific index + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1044.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1044.yaml index 98817efa5c..e4dc1df85e 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1044.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1044.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p = y { - y = data.ex.mock_var with data.ex.mock_var as {"c": 1, "d": 2} - } - - | - package ex + p = y { + y = data.ex.mock_var with data.ex.mock_var as {"c": 1, "d": 2} + } + - | + package ex - mock_var = {"a": 0, "b": 0} - note: withkeyword/with mock var - query: data.generated.p = x - want_result: - - x: - c: 1 - d: 2 + mock_var = {"a": 0, "b": 0} + note: withkeyword/with mock var + query: data.generated.p = x + want_result: + - x: + c: 1 + d: 2 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1045.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1045.yaml index dfd06f3fdb..45770d6d9c 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1045.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1045.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.ex.mock_rule with data.ex.mock_rule as true - } - - | - package ex + p { + data.ex.mock_rule with data.ex.mock_rule as true + } + - | + package ex - mock_rule = false { - 1 = 2 - } - note: withkeyword/with mock rule - query: data.generated.p = x - want_result: - - x: true + mock_rule = false { + 1 = 2 + } + note: withkeyword/with mock rule + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1046.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1046.yaml index 1202d3bbc3..f8a0db353f 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1046.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1046.yaml @@ -1,38 +1,39 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.ex.allow with data.label.b.c as [1, 2, 3] - } - - | - package ex + p { + data.ex.allow with data.label.b.c as [1, 2, 3] + } + - | + package ex - allow1 { - data.label.b.c = [1, 2, 3] - } + allow1 { + data.label.b.c = [1, 2, 3] + } - allow2 { - data.label.b.c[x] = 2 - } + allow2 { + data.label.b.c[x] = 2 + } - allow3 { - data.label.b[x] = 1 - } + allow3 { + data.label.b[x] = 1 + } - allow4 { - data.label.b.c.d[x] = 1 - } + allow4 { + data.label.b.c.d[x] = 1 + } - allow { - data.ex.allow1 - data.ex.allow2 - not data.ex.allow3 - not data.ex.allow4 - } - note: withkeyword/with rule chain - query: data.generated.p = x - want_result: - - x: true + allow { + data.ex.allow1 + data.ex.allow2 + not data.ex.allow3 + not data.ex.allow4 + } + note: withkeyword/with rule chain + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1047.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1047.yaml index 9e06602a4e..ae612b6af0 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1047.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1047.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - q[1] + q[1] - q[2] + q[2] - p[x] { - data.generated.q[x] with data.generated.q as {3, 4} - } - note: withkeyword/with mock iteration on sets - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 - - 4 + p[x] { + data.generated.q[x] with data.generated.q as {3, 4} + } + note: withkeyword/with mock iteration on sets + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 + - 4 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1048.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1048.yaml index 48953a4b45..96d5f58dec 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1048.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1048.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - q["a"] = 1 + q["a"] = 1 - q["b"] = 2 + q["b"] = 2 - p[x] = y { - data.generated.q[x] = y with data.generated.q as {"a": 3, "c": 4} - } - note: withkeyword/with mock iteration on objects - query: data.generated.p = x - want_result: - - x: - a: 3 - c: 4 + p[x] = y { + data.generated.q[x] = y with data.generated.q as {"a": 3, "c": 4} + } + note: withkeyword/with mock iteration on objects + query: data.generated.p = x + want_result: + - x: + a: 3 + c: 4 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1049.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1049.yaml index 7463e54227..a5f9910fdd 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1049.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1049.yaml @@ -1,20 +1,21 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - q[1] + q[1] - q[2] + q[2] - p[x] { - data.generated.q[_] = x with data.generated.q as [3, 4] - } - note: withkeyword/with mock iteration on arrays - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - 3 - - 4 + p[x] { + data.generated.q[_] = x with data.generated.q as [3, 4] + } + note: withkeyword/with mock iteration on arrays + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - 3 + - 4 diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1050.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1050.yaml index a40e2c4f7d..72e6e1ac84 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1050.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1050.yaml @@ -1,18 +1,19 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.ex.input_eq with data.foo as 1 - } - - | - package ex + p { + data.ex.input_eq with data.foo as 1 + } + - | + package ex - input_eq { - input.x = 1 - } - note: withkeyword/bug 1083 - query: data.generated.p = x - want_result: [] + input_eq { + input.x = 1 + } + note: withkeyword/bug 1083 + query: data.generated.p = x + want_result: [] diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1051.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1051.yaml index 04a6055311..a9982485d7 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1051.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1051.yaml @@ -1,24 +1,25 @@ +--- cases: -- data: - a: - - 1 - - 2 - - 3 - - 4 - modules: - - | - package generated + - data: + a: + - 1 + - 2 + - 3 + - 4 + modules: + - | + package generated - p { - data.ex.data_eq with input as {} - } - - | - package ex + p { + data.ex.data_eq with input as {} + } + - | + package ex - data_eq { - data.a = x - } - note: withkeyword/bug 1100 - query: data.generated.p = x - want_result: - - x: true + data_eq { + data.a = x + } + note: withkeyword/bug 1100 + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1052.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1052.yaml index 6b4eaa7dab..f7e0bd1acb 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1052.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1052.yaml @@ -1,19 +1,20 @@ +--- cases: -- data: {} - modules: - - | - package generated + - data: {} + modules: + - | + package generated - p { - data.ex.setl[1] with data.foo as {1} - } - - | - package ex + p { + data.ex.setl[1] with data.foo as {1} + } + - | + package ex - setl[x] { - data.foo[x] - } - note: withkeyword/set lookup - query: data.generated.p = x - want_result: - - x: true + setl[x] { + data.foo[x] + } + note: withkeyword/set lookup + query: data.generated.p = x + want_result: + - x: true diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1053.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1053.yaml index 85e9bcb37b..5e4b0423f9 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1053.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1053.yaml @@ -1,29 +1,30 @@ +--- cases: -- data: - modules: - - | - package generated + - data: + modules: + - | + package generated - p = [x, y] { - x = data.ex.s with input as {"a": "b", "c": "b"} - y = data.ex.s with input as {"a": "b"} - } - - | - package ex + p = [x, y] { + x = data.ex.s with input as {"a": "b", "c": "b"} + y = data.ex.s with input as {"a": "b"} + } + - | + package ex - s[x] { - x = {v: ks | - v = input[i] - ks = {k | v = input[k]} - } - } - note: withkeyword/invalidate comprehension cache - query: data.generated.p = x - sort_bindings: true - want_result: - - x: - - - b: - - a - - - b: - - a - - c + s[x] { + x = {v: ks | + v = input[i] + ks = {k | v = input[k]} + } + } + note: withkeyword/invalidate comprehension cache + query: data.generated.p = x + sort_bindings: true + want_result: + - x: + - - b: + - a + - - b: + - a + - c diff --git a/test/cases/testdata/withkeyword/test-withkeyword-1054.yaml b/test/cases/testdata/withkeyword/test-withkeyword-1054.yaml index e599438d0e..e0f7d09ceb 100644 --- a/test/cases/testdata/withkeyword/test-withkeyword-1054.yaml +++ b/test/cases/testdata/withkeyword/test-withkeyword-1054.yaml @@ -1,76 +1,77 @@ +--- cases: -- data: - modules: - - | - package test - - allow { - a := {"x": 0} - - input.x == 0 with input as a - } - note: withkeyword/rewrite declared variables in with value - query: data.test.allow = x - want_result: - - x: true -- data: - modules: - - | - package test - - allow { - a := {"x": 0} - - input.x == 1 with input as object.union(a, {"x": 1}) - input.x == -1 with input as object.union(a, {"x": -1}) - - input.x == 2 with input as object.union(a, object.union(a, {"x": 2})) - input.x == -2 with input as object.union(a, object.union(a, {"x": -2})) - } - note: withkeyword/rewrite declared variables nested in function call in with value - query: data.test.allow = x - want_result: - - x: true -- data: - modules: - - | - package test - - allow { - a := 1 - input[0] == 1 with input as [a] - input[0][0] == 1 with input as [[a]] - } - note: withkeyword/rewrite declared variables nested in array in with value - query: data.test.allow = x - want_result: - - x: true -- data: - modules: - - | - package test - - allow { - a := 1 - input.a == 1 with input as {"a": a} - input.nested.a == 1 with input as {"nested": {"a": a}} - } - note: withkeyword/rewrite declared variables nested in object in with value - query: data.test.allow = x - want_result: - - x: true -- data: - modules: - - | - package test - - allow { - a := 1 - b := 2 - - input.min == 1 with input as object.union({"min": 0}, {"min": min([a, b])}) - } - note: withkeyword/rewrite declared variables nested in function/array/object in with value - query: data.test.allow = x - want_result: - - x: true + - data: + modules: + - | + package test + + allow { + a := {"x": 0} + + input.x == 0 with input as a + } + note: withkeyword/rewrite declared variables in with value + query: data.test.allow = x + want_result: + - x: true + - data: + modules: + - | + package test + + allow { + a := {"x": 0} + + input.x == 1 with input as object.union(a, {"x": 1}) + input.x == -1 with input as object.union(a, {"x": -1}) + + input.x == 2 with input as object.union(a, object.union(a, {"x": 2})) + input.x == -2 with input as object.union(a, object.union(a, {"x": -2})) + } + note: withkeyword/rewrite declared variables nested in function call in with value + query: data.test.allow = x + want_result: + - x: true + - data: + modules: + - | + package test + + allow { + a := 1 + input[0] == 1 with input as [a] + input[0][0] == 1 with input as [[a]] + } + note: withkeyword/rewrite declared variables nested in array in with value + query: data.test.allow = x + want_result: + - x: true + - data: + modules: + - | + package test + + allow { + a := 1 + input.a == 1 with input as {"a": a} + input.nested.a == 1 with input as {"nested": {"a": a}} + } + note: withkeyword/rewrite declared variables nested in object in with value + query: data.test.allow = x + want_result: + - x: true + - data: + modules: + - | + package test + + allow { + a := 1 + b := 2 + + input.min == 1 with input as object.union({"min": 0}, {"min": min([a, b])}) + } + note: withkeyword/rewrite declared variables nested in function/array/object in with value + query: data.test.allow = x + want_result: + - x: true