mirror of
https://github.com/Oxalide/vsphere-influxdb-go.git
synced 2023-10-10 13:36:51 +02:00
167 lines
3.2 KiB
Bash
Executable File
167 lines
3.2 KiB
Bash
Executable File
#!/usr/bin/env bats
|
|
|
|
load test_helper
|
|
|
|
@test "ls" {
|
|
run govc ls
|
|
assert_success
|
|
# /dc/{vm,network,host,datastore}
|
|
n=${#lines[@]}
|
|
[ $n -ge 4 ]
|
|
|
|
# list entire inventory
|
|
run govc ls '/**'
|
|
assert_success
|
|
[ ${#lines[@]} -ge $n ]
|
|
|
|
run govc ls ./...
|
|
assert_success
|
|
[ ${#lines[@]} -ge $n ]
|
|
|
|
run govc ls -t HostSystem '*'
|
|
assert_success
|
|
[ ${#lines[@]} -eq 0 ]
|
|
|
|
run govc ls host
|
|
assert_success
|
|
[ ${#lines[@]} -ge 1 ]
|
|
|
|
run govc ls enoent
|
|
assert_success
|
|
[ ${#lines[@]} -eq 0 ]
|
|
}
|
|
|
|
@test "ls -R" {
|
|
# search entire inventory
|
|
run govc ls ./...
|
|
assert_success
|
|
# should have at least 1 dc + folders, 1 host, 1 network, 1 datastore
|
|
[ ${#lines[@]} -ge 9 ]
|
|
|
|
run govc ls -t HostSystem ./...
|
|
assert_success
|
|
[ ${#lines[@]} -eq 1 ]
|
|
|
|
run govc ls -t Datacenter /...
|
|
assert_success
|
|
[ ${#lines[@]} -eq 1 ]
|
|
|
|
run govc ls -t ResourcePool host/...
|
|
assert_success
|
|
[ ${#lines[@]} -ge 1 ]
|
|
|
|
run govc ls -t ResourcePool vm/...
|
|
assert_success
|
|
[ ${#lines[@]} -eq 0 ]
|
|
|
|
c=$(govc ls -t ComputeResource ./... | head -1)
|
|
run govc ls -t ResourcePool "$c/..."
|
|
assert_success
|
|
[ ${#lines[@]} -ge 1 ]
|
|
}
|
|
|
|
@test "ls vm" {
|
|
vm=$(new_empty_vm)
|
|
|
|
run govc ls vm
|
|
assert_success
|
|
[ ${#lines[@]} -ge 1 ]
|
|
|
|
run govc ls vm/$vm
|
|
assert_success
|
|
[ ${#lines[@]} -eq 1 ]
|
|
|
|
run govc ls /*/vm/$vm
|
|
assert_success
|
|
[ ${#lines[@]} -eq 1 ]
|
|
}
|
|
|
|
@test "ls network" {
|
|
run govc ls network
|
|
assert_success
|
|
[ ${#lines[@]} -ge 1 ]
|
|
|
|
local path=${lines[0]}
|
|
run govc ls "$path"
|
|
assert_success
|
|
[ ${#lines[@]} -eq 1 ]
|
|
|
|
run govc ls "network/$(basename "$path")"
|
|
assert_success
|
|
[ ${#lines[@]} -eq 1 ]
|
|
|
|
run govc ls "/*/network/$(basename "$path")"
|
|
assert_success
|
|
[ ${#lines[@]} -eq 1 ]
|
|
}
|
|
|
|
@test "ls multi ds" {
|
|
vcsim_env
|
|
|
|
run govc ls
|
|
assert_success
|
|
# /DC0/{vm,network,host,datastore}
|
|
[ ${#lines[@]} -eq 4 ]
|
|
|
|
run govc ls /DC*
|
|
assert_success
|
|
# /DC[0,1]/{vm,network,host,datastore}
|
|
[ ${#lines[@]} -eq 8 ]
|
|
|
|
# here 'vm' is relative to /DC0
|
|
run govc ls vm
|
|
assert_success
|
|
[ ${#lines[@]} -gt 0 ]
|
|
|
|
unset GOVC_DATACENTER
|
|
|
|
run govc ls
|
|
assert_success
|
|
# /DC[0,1]
|
|
[ ${#lines[@]} -eq 2 ]
|
|
|
|
run govc ls -dc enoent
|
|
assert_failure
|
|
[ ${#lines[@]} -gt 0 ]
|
|
|
|
# here 'vm' is relative to '/' - so there are no matches
|
|
run govc ls vm
|
|
assert_success
|
|
[ ${#lines[@]} -eq 0 ]
|
|
|
|
# ls all vms in all datacenters
|
|
run govc ls */vm
|
|
assert_success
|
|
[ ${#lines[@]} -gt 0 ]
|
|
}
|
|
|
|
@test "ls moref" {
|
|
# ensure the vm folder isn't empty
|
|
run govc vm.create -on=false "$(new_id)"
|
|
assert_success
|
|
|
|
# list dc folder paths
|
|
folders1=$(govc ls)
|
|
# list dc folder refs | govc ls -L ; should output the same paths
|
|
folders2=$(govc ls -i | xargs govc ls -L)
|
|
|
|
assert_equal "$folders1" "$folders2"
|
|
|
|
for folder in $folders1
|
|
do
|
|
# list paths in $folder
|
|
items1=$(govc ls "$folder")
|
|
# list refs in $folder | govc ls -L ; should output the same paths
|
|
items2=$(govc ls -i "$folder" | xargs -d '\n' govc ls -L)
|
|
|
|
assert_equal "$items1" "$items2"
|
|
done
|
|
|
|
ref=ViewManager:ViewManager
|
|
path=$(govc ls -L $ref)
|
|
assert_equal "$ref" "$path"
|
|
|
|
path=$(govc ls -L Folder:ha-folder-root)
|
|
assert_equal "/" "$path"
|
|
}
|