mirror of
https://github.com/Oxalide/vsphere-influxdb-go.git
synced 2023-10-10 13:36:51 +02:00
302 lines
6.3 KiB
Plaintext
302 lines
6.3 KiB
Plaintext
|
#!/usr/bin/env bats
|
||
|
|
||
|
load test_helper
|
||
|
|
||
|
@test "pool.create" {
|
||
|
path="*/Resources/$(new_id)/$(new_id)"
|
||
|
run govc pool.create $path
|
||
|
assert_failure
|
||
|
assert_line "govc: cannot create resource pool '$(basename ${path})': parent not found"
|
||
|
|
||
|
id=$(new_id)
|
||
|
path="*/Resources/$id"
|
||
|
run govc pool.create -cpu.shares low -mem.reservation 500 $path
|
||
|
assert_success
|
||
|
|
||
|
run govc pool.info $path
|
||
|
assert_success
|
||
|
|
||
|
assert_line "Name: $id"
|
||
|
assert_line "CPU Shares: low"
|
||
|
assert_line "Mem Reservation: 500MB (expandable=true)"
|
||
|
|
||
|
run govc pool.destroy $path
|
||
|
assert_success
|
||
|
}
|
||
|
|
||
|
@test "pool.create multiple" {
|
||
|
id=$(new_id)
|
||
|
path="*/Resources/$id"
|
||
|
govc pool.create $path
|
||
|
|
||
|
# Finder.List($path)
|
||
|
run govc pool.info "$path"
|
||
|
assert_success
|
||
|
|
||
|
# Finder.Find($name)
|
||
|
run govc pool.info "$id"
|
||
|
assert_success
|
||
|
|
||
|
# Create multiple parent pools with multiple arguments (without globbing)
|
||
|
run govc pool.create $path/a $path/b
|
||
|
assert_success
|
||
|
result=$(govc ls "host/$path/*" | wc -l)
|
||
|
[ $result -eq 2 ]
|
||
|
|
||
|
# Create multiple child pools with one argument (with globbing)
|
||
|
run govc pool.create $path/*/{a,b}
|
||
|
assert_success
|
||
|
result=$(govc ls "host/$path/*/*" | wc -l)
|
||
|
[ $result -eq 4 ]
|
||
|
|
||
|
# Clean up
|
||
|
run govc pool.destroy $path/*/* $path/* $path
|
||
|
assert_success
|
||
|
}
|
||
|
|
||
|
@test "pool.change" {
|
||
|
id=$(new_id)
|
||
|
path="*/Resources/$id"
|
||
|
govc pool.create $path
|
||
|
|
||
|
run govc pool.change -mem.shares high $path
|
||
|
assert_success
|
||
|
run govc pool.info $path
|
||
|
assert_success
|
||
|
assert_line "Mem Shares: high"
|
||
|
assert_line "CPU Shares: normal"
|
||
|
|
||
|
nid=$(new_id)
|
||
|
run govc pool.change -name $nid $path
|
||
|
assert_success
|
||
|
path="*/Resources/$nid"
|
||
|
|
||
|
run govc pool.info $path
|
||
|
assert_success
|
||
|
assert_line "Name: $nid"
|
||
|
|
||
|
run govc pool.destroy $path
|
||
|
assert_success
|
||
|
}
|
||
|
|
||
|
@test "pool.change multiple" {
|
||
|
id=$(new_id)
|
||
|
path="*/Resources/$id"
|
||
|
govc pool.create $path
|
||
|
|
||
|
# Create some nested pools so that we can test changing multiple in one call
|
||
|
govc pool.create $path/{a,b} $path/{a,b}/test
|
||
|
|
||
|
# Test precondition
|
||
|
run govc pool.info $path/a/test
|
||
|
assert_success
|
||
|
assert_line "Name: test"
|
||
|
run govc pool.info $path/b/test
|
||
|
assert_success
|
||
|
assert_line "Name: test"
|
||
|
|
||
|
# Change name of both test pools
|
||
|
run govc pool.change -name hello $path/*/test
|
||
|
assert_success
|
||
|
|
||
|
# Test postcondition
|
||
|
run govc pool.info $path/a/hello
|
||
|
assert_success
|
||
|
assert_line "Name: hello"
|
||
|
run govc pool.info $path/b/hello
|
||
|
assert_success
|
||
|
assert_line "Name: hello"
|
||
|
|
||
|
# Clean up
|
||
|
govc pool.destroy $path/a/hello
|
||
|
govc pool.destroy $path/a
|
||
|
govc pool.destroy $path/b/hello
|
||
|
govc pool.destroy $path/b
|
||
|
govc pool.destroy $path
|
||
|
}
|
||
|
|
||
|
@test "pool.destroy" {
|
||
|
id=$(new_id)
|
||
|
|
||
|
# parent pool
|
||
|
path="*/Resources/$id"
|
||
|
run govc pool.create $path
|
||
|
assert_success
|
||
|
|
||
|
result=$(govc ls "host/$path/*" | wc -l)
|
||
|
[ $result -eq 0 ]
|
||
|
|
||
|
# child pools
|
||
|
id1=$(new_id)
|
||
|
run govc pool.create $path/$id1
|
||
|
assert_success
|
||
|
|
||
|
id2=$(new_id)
|
||
|
run govc pool.create $path/$id2
|
||
|
assert_success
|
||
|
|
||
|
# 2 child pools
|
||
|
result=$(govc ls "host/$path/*" | wc -l)
|
||
|
[ $result -eq 2 ]
|
||
|
|
||
|
# 1 parent pool
|
||
|
result=$(govc ls "host/$path" | wc -l)
|
||
|
[ $result -eq 1 ]
|
||
|
|
||
|
run govc pool.destroy $path
|
||
|
assert_success
|
||
|
|
||
|
# no more parent pool
|
||
|
result=$(govc ls "host/$path" | wc -l)
|
||
|
[ $result -eq 0 ]
|
||
|
|
||
|
# the child pools are not present anymore
|
||
|
# the only place they could pop into is the parent pool
|
||
|
|
||
|
# first child pool
|
||
|
result=$(govc ls "host/*/Resources/$id1" | wc -l)
|
||
|
[ $result -eq 0 ]
|
||
|
|
||
|
# second child pool
|
||
|
result=$(govc ls "host/*/Resources/$id2" | wc -l)
|
||
|
[ $result -eq 0 ]
|
||
|
}
|
||
|
|
||
|
@test "pool.destroy children" {
|
||
|
id=$(new_id)
|
||
|
|
||
|
# parent pool
|
||
|
path="*/Resources/$id"
|
||
|
run govc pool.create $path
|
||
|
assert_success
|
||
|
|
||
|
result=$(govc ls "host/$path/*" | wc -l)
|
||
|
[ $result -eq 0 ]
|
||
|
|
||
|
# child pools
|
||
|
run govc pool.create $path/$(new_id)
|
||
|
assert_success
|
||
|
|
||
|
run govc pool.create $path/$(new_id)
|
||
|
assert_success
|
||
|
|
||
|
# 2 child pools
|
||
|
result=$(govc ls "host/$path/*" | wc -l)
|
||
|
[ $result -eq 2 ]
|
||
|
|
||
|
# 1 parent pool
|
||
|
result=$(govc ls "host/*/Resources/govc-test-*" | wc -l)
|
||
|
[ $result -eq 1 ]
|
||
|
|
||
|
# delete childs
|
||
|
run govc pool.destroy -children $path
|
||
|
assert_success
|
||
|
|
||
|
# no more child pools
|
||
|
result=$(govc ls "host/$path/*" | wc -l)
|
||
|
[ $result -eq 0 ]
|
||
|
|
||
|
# cleanup
|
||
|
run govc pool.destroy $path
|
||
|
assert_success
|
||
|
|
||
|
# cleanup check
|
||
|
result=$(govc ls "host/$path" | wc -l)
|
||
|
[ $result -eq 0 ]
|
||
|
}
|
||
|
|
||
|
@test "pool.destroy multiple" {
|
||
|
id=$(new_id)
|
||
|
path="*/Resources/$id"
|
||
|
govc pool.create $path
|
||
|
|
||
|
# Create some nested pools so that we can test destroying multiple in one call
|
||
|
govc pool.create $path/{a,b}
|
||
|
|
||
|
# Test precondition
|
||
|
result=$(govc ls "host/$path/*" | wc -l)
|
||
|
[ $result -eq 2 ]
|
||
|
|
||
|
# Destroy both pools
|
||
|
run govc pool.destroy $path/{a,b}
|
||
|
assert_success
|
||
|
|
||
|
# Test postcondition
|
||
|
result=$(govc ls "host/$path/*" | wc -l)
|
||
|
[ $result -eq 0 ]
|
||
|
|
||
|
# Clean up
|
||
|
govc pool.destroy $path
|
||
|
}
|
||
|
|
||
|
@test "vm.create -pool" {
|
||
|
# test with full inventory path to pools
|
||
|
parent_path=$(govc ls 'host/*/Resources')
|
||
|
parent_name=$(basename $parent_path)
|
||
|
[ "$parent_name" = "Resources" ]
|
||
|
|
||
|
child_name=$(new_id)
|
||
|
child_path="$parent_path/$child_name"
|
||
|
|
||
|
grand_child_name=$(new_id)
|
||
|
grand_child_path="$child_path/$grand_child_name"
|
||
|
|
||
|
run govc pool.create $parent_path/$child_name{,/$grand_child_name}
|
||
|
assert_success
|
||
|
|
||
|
for path in $parent_path $child_path $grand_child_path
|
||
|
do
|
||
|
run govc vm.create -pool $path $(new_id)
|
||
|
assert_success
|
||
|
done
|
||
|
|
||
|
run govc pool.change -mem.limit 100 -mem.expandable=false $child_path
|
||
|
assert_failure
|
||
|
|
||
|
run govc pool.change -mem.limit 100 $child_path
|
||
|
assert_success
|
||
|
|
||
|
run govc pool.change -mem.limit 120 -mem.expandable $child_path
|
||
|
assert_success
|
||
|
|
||
|
# test with glob inventory path to pools
|
||
|
parent_path="*/$parent_name"
|
||
|
child_path="$parent_path/$child_name"
|
||
|
grand_child_path="$child_path/$grand_child_name"
|
||
|
|
||
|
for path in $grand_child_path $child_path
|
||
|
do
|
||
|
run govc pool.destroy $path
|
||
|
assert_success
|
||
|
done
|
||
|
}
|
||
|
|
||
|
@test "vm.create -pool host" {
|
||
|
id=$(new_id)
|
||
|
|
||
|
path=$(govc ls host)
|
||
|
|
||
|
run govc vm.create -on=false -pool enoent $id
|
||
|
assert_failure "govc: resource pool 'enoent' not found"
|
||
|
|
||
|
run govc vm.create -on=false -pool $path $id
|
||
|
assert_success
|
||
|
}
|
||
|
|
||
|
@test "vm.create -pool cluster" {
|
||
|
vcsim_env
|
||
|
|
||
|
id=$(new_id)
|
||
|
|
||
|
path=$(dirname $GOVC_HOST)
|
||
|
|
||
|
unset GOVC_HOST
|
||
|
unset GOVC_RESOURCE_POOL
|
||
|
|
||
|
run govc vm.create -on=false -pool enoent $id
|
||
|
assert_failure "govc: resource pool 'enoent' not found"
|
||
|
|
||
|
run govc vm.create -on=false -pool $path $id
|
||
|
assert_success
|
||
|
}
|