Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix tests #251

Merged
merged 3 commits into from
May 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 31 additions & 3 deletions tests/command.bats
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bats

load '/usr/local/lib/bats/load.bash'
load "${BATS_PLUGIN_PATH}/load.bash"

# Uncomment to enable stub debug output:
# export DOCKER_STUB_DEBUG=/dev/tty
Expand Down Expand Up @@ -871,10 +871,36 @@ EOF
export AWS_CONTAINER_CREDENTIALS_RELATIVE_URI="/get-credentials?a=1"
export AWS_CONTAINER_AUTHORIZATION_TOKEN="Basic abcd"
export AWS_STS_REGIONAL_ENDPOINTS="true"
export AWS_WEB_IDENITY_TOKEN_FILE="/tmp/fake-token"

stub docker \
"run -t -i --rm --init --volume $PWD:/workdir --workdir /workdir --env AWS_ACCESS_KEY_ID --env AWS_SECRET_ACCESS_KEY --env AWS_SESSION_TOKEN --env AWS_REGION --env AWS_DEFAULT_REGION --env AWS_CONTAINER_CREDENTIALS_FULL_URI --env AWS_CONTAINER_CREDENTIALS_RELATIVE_URI --env AWS_CONTAINER_AUTHORIZATION_TOKEN --env AWS_STS_REGIONAL_ENDPOINTS --env AWS_WEB_IDENITY_TOKEN_FILE --env AWS_ROLE_ARN --volume "/tmp/fake-token:/tmp/fake-token" --label com.buildkite.job-id=1-2-3-4 image:tag /bin/sh -e -c 'echo hello world' : echo ran command in docker"
"run -t -i --rm --init --volume $PWD:/workdir --workdir /workdir --env AWS_ACCESS_KEY_ID --env AWS_SECRET_ACCESS_KEY --env AWS_SESSION_TOKEN --env AWS_REGION --env AWS_DEFAULT_REGION --env AWS_ROLE_ARN --env AWS_STS_REGIONAL_ENDPOINTS --env AWS_CONTAINER_CREDENTIALS_FULL_URI --env AWS_CONTAINER_CREDENTIALS_RELATIVE_URI --env AWS_CONTAINER_AUTHORIZATION_TOKEN --label com.buildkite.job-id=1-2-3-4 image:tag /bin/sh -e -c 'echo hello world' : echo ran command in docker"

run "$PWD"/hooks/command

assert_success
assert_output --partial "ran command in docker"

unstub docker
}

@test "Runs BUILDKITE_COMMAND with propagate aws auth tokens and token file" {
export BUILDKITE_COMMAND="echo hello world"
export BUILDKITE_PLUGIN_DOCKER_PROPAGATE_AWS_AUTH_TOKENS=true

export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
export AWS_SESSION_TOKEN="AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk"
export AWS_REGION="ap-southeast-2"
export AWS_DEFAULT_REGION="ap-southeast-2"
export AWS_ROLE_ARN="arn:aws:iam::0000000000:role/example-role"
export AWS_CONTAINER_CREDENTIALS_FULL_URI="http://localhost:8080/get-credentials"
export AWS_CONTAINER_CREDENTIALS_RELATIVE_URI="/get-credentials?a=1"
export AWS_CONTAINER_AUTHORIZATION_TOKEN="Basic abcd"
export AWS_STS_REGIONAL_ENDPOINTS="true"
export AWS_WEB_IDENTITY_TOKEN_FILE="/tmp/fake-token"

stub docker \
"run -t -i --rm --init --volume $PWD:/workdir --workdir /workdir --env AWS_ACCESS_KEY_ID --env AWS_SECRET_ACCESS_KEY --env AWS_SESSION_TOKEN --env AWS_REGION --env AWS_DEFAULT_REGION --env AWS_ROLE_ARN --env AWS_STS_REGIONAL_ENDPOINTS --env AWS_CONTAINER_CREDENTIALS_FULL_URI --env AWS_CONTAINER_CREDENTIALS_RELATIVE_URI --env AWS_CONTAINER_AUTHORIZATION_TOKEN --env AWS_WEB_IDENTITY_TOKEN_FILE --volume \"/tmp/fake-token:/tmp/fake-token\" --label com.buildkite.job-id=1-2-3-4 image:tag /bin/sh -e -c 'echo hello world' : echo ran command in docker"

run "$PWD"/hooks/command

Expand Down Expand Up @@ -1247,6 +1273,7 @@ EOF
}

@test "Do not expand image vars by default" {
# shellcheck disable=2016 # this is what we are actually testing
export BUILDKITE_PLUGIN_DOCKER_IMAGE='123456789012.dkr.ecr.${AWS_DEFAULT_REGION}.amazonaws.com/image:tag'
export AWS_DEFAULT_REGION="us-east-1"
export BUILDKITE_COMMAND="pwd"
Expand All @@ -1264,6 +1291,7 @@ EOF

@test "Expand image vars" {
export BUILDKITE_PLUGIN_DOCKER_EXPAND_IMAGE_VARS=true
# shellcheck disable=2016 # this is what we are actually testing
export BUILDKITE_PLUGIN_DOCKER_IMAGE='123456789012.dkr.ecr.${AWS_DEFAULT_REGION}.amazonaws.com/image:tag'
export AWS_DEFAULT_REGION="us-east-1"
export BUILDKITE_COMMAND="pwd"
Expand Down
2 changes: 1 addition & 1 deletion tests/pre-checkout.bats
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bats

load '/usr/local/lib/bats/load.bash'
load "${BATS_PLUGIN_PATH}/load.bash"

@test "Run without specific options" {

Expand Down
2 changes: 1 addition & 1 deletion tests/windows.bats
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bats

load '/usr/local/lib/bats/load.bash'
load "${BATS_PLUGIN_PATH}/load.bash"

setup() {
export BUILDKITE_PLUGIN_DOCKER_IMAGE=image:tag
Expand Down