mirror of
https://github.com/Oxalide/vsphere-influxdb-go.git
synced 2023-10-10 11:36:51 +00:00
add vendoring with go dep
This commit is contained in:
254
vendor/github.com/vmware/govmomi/govc/test/test_helper.bash
generated
vendored
Normal file
254
vendor/github.com/vmware/govmomi/govc/test/test_helper.bash
generated
vendored
Normal file
@@ -0,0 +1,254 @@
|
||||
# set the following variables only if they've not been set
|
||||
GOVC_TEST_URL=${GOVC_TEST_URL-"https://root:vagrant@localhost:18443/sdk"}
|
||||
export GOVC_URL=$GOVC_TEST_URL
|
||||
export GOVC_DATASTORE=${GOVC_DATASTORE-datastore1}
|
||||
export GOVC_NETWORK=${GOVC_NETWORK-"VM Network"}
|
||||
|
||||
export GOVC_INSECURE=true
|
||||
export GOVC_PERSIST_SESSION=false
|
||||
unset GOVC_DEBUG
|
||||
unset GOVC_TLS_KNOWN_HOSTS
|
||||
unset GOVC_DATACENTER
|
||||
unset GOVC_HOST
|
||||
unset GOVC_USERNAME
|
||||
unset GOVC_PASSWORD
|
||||
|
||||
if [ -z "$BATS_TEST_DIRNAME" ]; then
|
||||
BATS_TEST_DIRNAME=$(dirname ${BASH_SOURCE})
|
||||
fi
|
||||
|
||||
# gnu core utils
|
||||
readlink=$(type -p greadlink readlink | head -1)
|
||||
xargs=$(type -p gxargs xargs | head -1)
|
||||
mktemp=$(type -p gmktemp mktemp | head -1)
|
||||
|
||||
BATS_TEST_DIRNAME=$($readlink -nf $BATS_TEST_DIRNAME)
|
||||
|
||||
GOVC_IMAGES=$BATS_TEST_DIRNAME/images
|
||||
TTYLINUX_NAME=ttylinux-pc_i486-16.1
|
||||
|
||||
GOVC_TEST_VMDK_SRC=$GOVC_IMAGES/${TTYLINUX_NAME}-disk1.vmdk
|
||||
GOVC_TEST_VMDK=govc-images/$(basename $GOVC_TEST_VMDK_SRC)
|
||||
|
||||
GOVC_TEST_ISO_SRC=$GOVC_IMAGES/${TTYLINUX_NAME}.iso
|
||||
GOVC_TEST_ISO=govc-images/$(basename $GOVC_TEST_ISO_SRC)
|
||||
|
||||
GOVC_TEST_IMG_SRC=$GOVC_IMAGES/floppybird.img
|
||||
GOVC_TEST_IMG=govc-images/$(basename $GOVC_TEST_IMG_SRC)
|
||||
|
||||
PATH="$(dirname $BATS_TEST_DIRNAME):$PATH"
|
||||
|
||||
teardown() {
|
||||
govc ls vm | grep govc-test- | $xargs -r govc vm.destroy
|
||||
govc datastore.ls | grep govc-test- | awk '{print ($NF)}' | $xargs -n1 -r govc datastore.rm
|
||||
govc ls "host/*/Resources/govc-test-*" | $xargs -r govc pool.destroy
|
||||
}
|
||||
|
||||
new_id() {
|
||||
echo "govc-test-$(uuidgen)"
|
||||
}
|
||||
|
||||
import_ttylinux_vmdk() {
|
||||
govc datastore.mkdir -p govc-images
|
||||
govc datastore.ls "$GOVC_TEST_VMDK" >/dev/null 2>&1 || \
|
||||
govc import.vmdk "$GOVC_TEST_VMDK_SRC" govc-images > /dev/null
|
||||
}
|
||||
|
||||
datastore_upload() {
|
||||
src=$1
|
||||
dst=govc-images/$(basename $src)
|
||||
|
||||
govc datastore.mkdir -p govc-images
|
||||
govc datastore.ls "$dst" >/dev/null 2>&1 || \
|
||||
govc datastore.upload "$src" "$dst" > /dev/null
|
||||
}
|
||||
|
||||
upload_img() {
|
||||
datastore_upload $GOVC_TEST_IMG_SRC
|
||||
}
|
||||
|
||||
upload_iso() {
|
||||
datastore_upload $GOVC_TEST_ISO_SRC
|
||||
}
|
||||
|
||||
new_ttylinux_vm() {
|
||||
import_ttylinux_vmdk # TODO: make this part of vagrant provision
|
||||
id=$(new_id)
|
||||
govc vm.create -m 32 -disk $GOVC_TEST_VMDK -disk.controller ide -on=false $id
|
||||
echo $id
|
||||
}
|
||||
|
||||
new_empty_vm() {
|
||||
id=$(new_id)
|
||||
govc vm.create -on=false $id
|
||||
echo $id
|
||||
}
|
||||
|
||||
vm_power_state() {
|
||||
govc vm.info "$1" | grep "Power state:" | awk -F: '{print $2}' | collapse_ws
|
||||
}
|
||||
|
||||
vm_mac() {
|
||||
govc device.info -vm "$1" ethernet-0 | grep "MAC Address" | awk '{print $NF}'
|
||||
}
|
||||
|
||||
# exports an environment for using vcsim if running, otherwise skips the calling test.
|
||||
vcsim_env() {
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
PATH="/Applications/VMware Fusion.app/Contents/Library:$PATH"
|
||||
fi
|
||||
|
||||
if [ "$(vmrun list | grep $BATS_TEST_DIRNAME/vcsim | wc -l)" -eq 1 ]; then
|
||||
export GOVC_URL=https://root:vmware@localhost:16443/sdk \
|
||||
GOVC_DATACENTER=DC0 \
|
||||
GOVC_DATASTORE=GlobalDS_0 \
|
||||
GOVC_HOST=/DC0/host/DC0_C0/DC0_C0_H0 \
|
||||
GOVC_RESOURCE_POOL=/DC0/host/DC0_C0/Resources \
|
||||
GOVC_NETWORK=/DC0/network/DC0_DVPG0
|
||||
else
|
||||
skip "requires vcsim"
|
||||
fi
|
||||
}
|
||||
|
||||
# remove username/password from $GOVC_URL and set $GOVC_{USERNAME,PASSWORD}
|
||||
govc_url_to_vars() {
|
||||
GOVC_USERNAME="$(govc env GOVC_USERNAME)"
|
||||
GOVC_PASSWORD="$(govc env GOVC_PASSWORD)"
|
||||
GOVC_URL="$(govc env GOVC_URL)"
|
||||
export GOVC_URL GOVC_USERNAME GOVC_PASSWORD
|
||||
|
||||
# double check that we removed user/pass
|
||||
grep -q -v @ <<<"$GOVC_URL"
|
||||
}
|
||||
|
||||
quit_vnc() {
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
osascript <<EOF
|
||||
tell application "Screen Sharing"
|
||||
quit
|
||||
end tell
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
open_vnc() {
|
||||
url=$1
|
||||
echo "open $url"
|
||||
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
open $url
|
||||
fi
|
||||
}
|
||||
|
||||
# collapse spaces, for example testing against Go's tabwriter output
|
||||
collapse_ws() {
|
||||
local line
|
||||
if [ $# -eq 0 ]; then line="$(cat -)"
|
||||
else line="$@"
|
||||
fi
|
||||
echo "$line" | tr -s ' ' | sed -e 's/^ //'
|
||||
}
|
||||
|
||||
# the following helpers are borrowed from the test_helper.bash in https://github.com/sstephenson/rbenv
|
||||
|
||||
flunk() {
|
||||
{ if [ "$#" -eq 0 ]; then cat -
|
||||
else echo "$@"
|
||||
fi
|
||||
} >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
assert_success() {
|
||||
if [ "$status" -ne 0 ]; then
|
||||
flunk "command failed with exit status $status: $output"
|
||||
elif [ "$#" -gt 0 ]; then
|
||||
assert_output "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
assert_failure() {
|
||||
if [ "$status" -ne 1 ]; then
|
||||
flunk $(printf "expected failed exit status=1, got status=%d" $status)
|
||||
elif [ "$#" -gt 0 ]; then
|
||||
assert_output "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
assert_equal() {
|
||||
if [ "$1" != "$2" ]; then
|
||||
{ echo "expected: $1"
|
||||
echo "actual: $2"
|
||||
} | flunk
|
||||
fi
|
||||
}
|
||||
|
||||
assert_output() {
|
||||
local expected
|
||||
if [ $# -eq 0 ]; then expected="$(cat -)"
|
||||
else expected="$1"
|
||||
fi
|
||||
assert_equal "$expected" "$output"
|
||||
}
|
||||
|
||||
assert_matches() {
|
||||
local pattern="${1}"
|
||||
local actual="${2}"
|
||||
|
||||
if [ $# -eq 1 ]; then
|
||||
actual="$(cat -)"
|
||||
fi
|
||||
|
||||
if ! grep -q "${pattern}" <<<"${actual}"; then
|
||||
{ echo "pattern: ${pattern}"
|
||||
echo "actual: ${actual}"
|
||||
} | flunk
|
||||
fi
|
||||
}
|
||||
|
||||
assert_empty() {
|
||||
local actual="${1}"
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
actual="$(cat -)"
|
||||
fi
|
||||
|
||||
if [ -n "${actual}" ]; then
|
||||
{ echo "actual: ${actual}"
|
||||
} | flunk
|
||||
fi
|
||||
}
|
||||
|
||||
assert_line() {
|
||||
if [ "$1" -ge 0 ] 2>/dev/null; then
|
||||
assert_equal "$2" "$(collapse_ws ${lines[$1]})"
|
||||
else
|
||||
local line
|
||||
for line in "${lines[@]}"; do
|
||||
if [ "$(collapse_ws $line)" = "$1" ]; then return 0; fi
|
||||
done
|
||||
flunk "expected line \`$1'"
|
||||
fi
|
||||
}
|
||||
|
||||
refute_line() {
|
||||
if [ "$1" -ge 0 ] 2>/dev/null; then
|
||||
local num_lines="${#lines[@]}"
|
||||
if [ "$1" -lt "$num_lines" ]; then
|
||||
flunk "output has $num_lines lines"
|
||||
fi
|
||||
else
|
||||
local line
|
||||
for line in "${lines[@]}"; do
|
||||
if [ "$line" = "$1" ]; then
|
||||
flunk "expected to not find line \`$line'"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
assert() {
|
||||
if ! "$@"; then
|
||||
flunk "failed: $@"
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user