From f3b667ec763b247b05a757ac7a752a66990e7d33 Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Thu, 7 Jan 2021 15:23:39 +0000 Subject: [PATCH] Update BATS tests to reflect new defaults --- .github/workflows/ci_helper.py | 9 ++++++--- .github/workflows/validator_action.yml | 5 +++++ tests/test_all_versioned_paths.bats | 22 ++++++++++++++++------ tests/test_as_type.bats | 9 +++------ tests/test_create_output.bats | 9 +++------ tests/test_unversioned_path.bats | 9 +++------ tests/test_validator_version.bats | 12 ++++-------- tests/test_verbosity.bats | 12 ++++-------- 8 files changed, 44 insertions(+), 43 deletions(-) diff --git a/.github/workflows/ci_helper.py b/.github/workflows/ci_helper.py index 98af752..23022cb 100644 --- a/.github/workflows/ci_helper.py +++ b/.github/workflows/ci_helper.py @@ -3,6 +3,7 @@ import json import os + def check_output(expected_keys: list): expected_results_keys = ["success_count", "failure_count"] # not complete list results = json.loads(os.getenv("RESULTS")) @@ -16,15 +17,17 @@ def check_output(expected_keys: list): if __name__ == "__main__": - commands = ["default", "all_versioned_paths"] + commands = ["default", "all_versioned_paths", "validate_unversioned_path"] parser = argparse.ArgumentParser() parser.add_argument("cmd", help="Command to run.", type=str, choices=commands) args = parser.parse_args() if args.cmd == "default": - check_output(["unversioned", "v1"]) + check_output(["v1"]) elif args.cmd == "all_versioned_paths": - check_output(["unversioned", "v1", "v1.0", "v1.0.0"]) + check_output(["v1", "v1.0", "v1.0.0"]) + elif args.cmd == "validate_unversioned_path": + check_output(["unversioned", "v1"]) else: exit(f"Wrong command, it must be one of {commands}") diff --git a/.github/workflows/validator_action.yml b/.github/workflows/validator_action.yml index 29e3792..7ecaa0a 100644 --- a/.github/workflows/validator_action.yml +++ b/.github/workflows/validator_action.yml @@ -189,3 +189,8 @@ jobs: env: RESULTS: "${{ steps.action_all.outputs.results }}" run: python .github/workflows/ci_helper.py all_versioned_paths + + - name: Check "validate_unversioned_path" output + env: + RESULTS: "${{ steps.action_all.outputs.results }}" + run: python .github/workflows/ci_helper.py validate_unversioned_path diff --git a/tests/test_all_versioned_paths.bats b/tests/test_all_versioned_paths.bats index bbdae59..1689db6 100644 --- a/tests/test_all_versioned_paths.bats +++ b/tests/test_all_versioned_paths.bats @@ -8,8 +8,7 @@ load 'test_fixtures' refute_output --partial "ERROR" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "all_versioned_paths=True" { @@ -17,6 +16,18 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" run ${ENTRYPOINT_SH} refute_output --partial "ERROR" + OPTIMADE_VERSION=("v1.0" "v1.0.0") + run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR} +run_validator: ${TEST_BASE_RUN_VALIDATOR}${OPTIMADE_VERSION[0]} +run_validator: ${TEST_BASE_RUN_VALIDATOR}${OPTIMADE_VERSION[1]}" +} + +@test "all_versioned_paths=True & validate_unversioned_path=True" { + export INPUT_ALL_VERSIONED_PATHS=True INPUT_VALIDATE_UNVERSIONED_PATH=True + run ${ENTRYPOINT_SH} + refute_output --partial "ERROR" + OPTIMADE_VERSION=("v1.0" "v1.0.0") run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} @@ -25,6 +36,7 @@ run_validator: ${TEST_BASE_RUN_VALIDATOR}${OPTIMADE_VERSION[0]} run_validator: ${TEST_BASE_RUN_VALIDATOR}${OPTIMADE_VERSION[1]}" } + @test "all_versioned_paths=invalid_value" { # For an invalid value, it should fallback to the default (false) export INPUT_ALL_VERSIONED_PATHS=invalid_value @@ -32,8 +44,7 @@ run_validator: ${TEST_BASE_RUN_VALIDATOR}${OPTIMADE_VERSION[1]}" refute_output --partial "ERROR" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "all_versioned_paths=True for old spec v0.10.1" { @@ -53,8 +64,7 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" OPTIMADE_VERSION=("v0" "v0.10" "v0.10.1") run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_BASE_RUN_VALIDATOR}${OPTIMADE_VERSION[0]} + assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR}${OPTIMADE_VERSION[0]} run_validator: ${TEST_BASE_RUN_VALIDATOR}${OPTIMADE_VERSION[1]} run_validator: ${TEST_BASE_RUN_VALIDATOR}${OPTIMADE_VERSION[2]}" } diff --git a/tests/test_as_type.bats b/tests/test_as_type.bats index 1652cff..0fe3633 100644 --- a/tests/test_as_type.bats +++ b/tests/test_as_type.bats @@ -9,8 +9,7 @@ load 'test_fixtures' refute_output --partial "ERROR" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "as_type='structure'" { @@ -22,8 +21,7 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" TEST_BASE_RUN_VALIDATOR="optimade-validator $( for i in {1..${INPUT_VERBOSITY}}; do echo '-v '; done; )--as-type ${VALID_AS_TYPE_VALUE} ${INPUT_PROTOCOL}://${INPUT_DOMAIN}${INPUT_PATH}" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" + assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" } @test "as_type='non_valid_input' (invalid value, should fail with status 1 and message)" { @@ -37,6 +35,5 @@ run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" TEST_BASE_RUN_VALIDATOR="optimade-validator $( for i in {1..${INPUT_VERBOSITY}}; do echo '-v '; done; )--as-type ${INVALID_AS_TYPE_VALUE} ${INPUT_PROTOCOL}://${INPUT_DOMAIN}${INPUT_PATH}" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" + assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" } diff --git a/tests/test_create_output.bats b/tests/test_create_output.bats index 3f58dfd..3923722 100644 --- a/tests/test_create_output.bats +++ b/tests/test_create_output.bats @@ -12,8 +12,7 @@ load 'test_fixtures' TEST_BASE_RUN_VALIDATOR="optimade-validator --json ${INPUT_PROTOCOL}://${INPUT_DOMAIN}${INPUT_PATH}" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" + assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" } @test "create_output='test' (invalid value, should use default instead)" { @@ -25,8 +24,7 @@ run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" refute_output --partial "Non-valid input for 'verbosity'" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "create_output=True (with validator_version that hasn't got the '--json' option)" { @@ -41,6 +39,5 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" refute_output --partial "Non-valid input for 'verbosity'" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } diff --git a/tests/test_unversioned_path.bats b/tests/test_unversioned_path.bats index 2b8700a..1081e21 100644 --- a/tests/test_unversioned_path.bats +++ b/tests/test_unversioned_path.bats @@ -8,8 +8,7 @@ load 'test_fixtures' refute_output --partial "ERROR" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "validate_unversioned_path=True" { @@ -20,8 +19,7 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" OPTIMADE_VERSION=("v1.0" "v1.0.0") run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR} +run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "validate_unversioned_path=invalid_value" { @@ -31,6 +29,5 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR} refute_output --partial "ERROR" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } diff --git a/tests/test_validator_version.bats b/tests/test_validator_version.bats index 1a5fc99..3b711ed 100644 --- a/tests/test_validator_version.bats +++ b/tests/test_validator_version.bats @@ -9,8 +9,7 @@ load 'test_fixtures' refute_output --partial "ERROR" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "validator_version='0.10.0'" { @@ -20,8 +19,7 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" refute_output --partial "ERROR" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "validator_version='v0.10.0'" { @@ -32,8 +30,7 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" refute_output --partial "ERROR" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "validator_version='master'" { @@ -43,8 +40,7 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" refute_output --partial "ERROR" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "validator_version='0.0.0' (invalid value, should fail with status 1 and message)" { diff --git a/tests/test_verbosity.bats b/tests/test_verbosity.bats index 1cbf4f2..2a4f3f3 100644 --- a/tests/test_verbosity.bats +++ b/tests/test_verbosity.bats @@ -10,8 +10,7 @@ load 'test_fixtures' refute_output --partial "Non-valid input for 'verbosity'" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "verbosity=0" { @@ -24,8 +23,7 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" TEST_BASE_RUN_VALIDATOR="optimade-validator ${INPUT_PROTOCOL}://${INPUT_DOMAIN}${INPUT_PATH}" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" + assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" } @test "verbosity='test' (invalid value, should use default instead)" { @@ -37,8 +35,7 @@ run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" assert_output --partial "Using verbosity level: ${VERBOSITY_DEFAULT}" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" + assert_output "run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" } @test "verbosity=3" { @@ -51,6 +48,5 @@ run_validator: ${TEST_MAJOR_RUN_VALIDATOR}" TEST_BASE_RUN_VALIDATOR="optimade-validator -v -v -v ${INPUT_PROTOCOL}://${INPUT_DOMAIN}${INPUT_PATH}" run cat ${DOCKER_BATS_WORKDIR}/.entrypoint-run_validator.txt - assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR} -run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" + assert_output "run_validator: ${TEST_BASE_RUN_VALIDATOR}v1" }