Skip to content

Commit

Permalink
Update BATS tests to reflect new defaults
Browse files Browse the repository at this point in the history
  • Loading branch information
ml-evs committed Jan 7, 2021
1 parent a74cd0a commit f3b667e
Show file tree
Hide file tree
Showing 8 changed files with 44 additions and 43 deletions.
9 changes: 6 additions & 3 deletions .github/workflows/ci_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"))
Expand All @@ -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}")
5 changes: 5 additions & 0 deletions .github/workflows/validator_action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
22 changes: 16 additions & 6 deletions tests/test_all_versioned_paths.bats
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,26 @@ 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" {
export INPUT_ALL_VERSIONED_PATHS=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_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}
Expand All @@ -25,15 +36,15 @@ 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
run ${ENTRYPOINT_SH}
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" {
Expand All @@ -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]}"
}
9 changes: 3 additions & 6 deletions tests/test_as_type.bats
Original file line number Diff line number Diff line change
Expand Up @@ -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'" {
Expand All @@ -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)" {
Expand All @@ -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"
}
9 changes: 3 additions & 6 deletions tests/test_create_output.bats
Original file line number Diff line number Diff line change
Expand Up @@ -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)" {
Expand All @@ -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)" {
Expand All @@ -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}"
}
9 changes: 3 additions & 6 deletions tests/test_unversioned_path.bats
Original file line number Diff line number Diff line change
Expand Up @@ -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" {
Expand All @@ -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" {
Expand All @@ -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}"
}
12 changes: 4 additions & 8 deletions tests/test_validator_version.bats
Original file line number Diff line number Diff line change
Expand Up @@ -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'" {
Expand All @@ -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'" {
Expand All @@ -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'" {
Expand All @@ -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)" {
Expand Down
12 changes: 4 additions & 8 deletions tests/test_verbosity.bats
Original file line number Diff line number Diff line change
Expand Up @@ -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" {
Expand All @@ -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)" {
Expand All @@ -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" {
Expand All @@ -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"
}

0 comments on commit f3b667e

Please sign in to comment.