#!/usr/bin/env bats
#
# This tests the ssh communicator using AWS builder. The teardown function will automatically
# delete any AMIs with a tag of `packer-test` being equal to "true" so
# be sure any test cases set this.

load test_helper
verify_aws_cli
fixtures communicator-ssh

setup() {
    cd $FIXTURE_ROOT
}

teardown() {
    aws_ami_cleanup
}

@test "shell provisioner: local port tunneling" {
    run packer build $FIXTURE_ROOT/local-tunnel.json
    [ "$status" -eq 0 ]
    [[ "$output" == *"Connection to localhost port 10022 [tcp/*] succeeded"* ]]
}

@test "shell provisioner: remote port tunneling" {
    run packer build $FIXTURE_ROOT/remote-tunnel.json
    [ "$status" -eq 0 ]
    MY_LOCAL_IP=$(curl -s https://ifconfig.co/)
    [[ "$output" == *"$MY_LOCAL_IP"* ]]
}