github.com/vmware/govmomi@v0.43.0/govc/test/extension.bats (about) 1 #!/usr/bin/env bats 2 3 load test_helper 4 5 @test "extension" { 6 vcsim_env 7 8 run govc extension.info enoent 9 assert_failure 10 11 run govc extension.info 12 assert_success 13 14 id=$(new_id) 15 16 # register extension 17 run govc extension.register $id <<EOS 18 { 19 "Description": { 20 "Label": "govc", 21 "Summary": "Go interface to vCenter" 22 }, 23 "Key": "${id}", 24 "Company": "VMware, Inc.", 25 "Version": "0.2.0" 26 } 27 EOS 28 assert_success 29 30 # check info output is legit 31 run govc extension.info $id 32 assert_line "Name: $id" 33 34 json=$(govc extension.info -json $id) 35 label=$(jq -r .extensions[].description.label <<<"$json") 36 assert_equal "govc" "$label" 37 38 # change label and update extension 39 json=$(jq -r '.extensions[] | .description.label = "novc"' <<<"$json") 40 run govc extension.register -update $id <<<"$json" 41 assert_success 42 43 # check label changed in info output 44 json=$(govc extension.info -json $id) 45 label=$(jq -r .extensions[].description.label <<<"$json") 46 assert_equal "novc" "$label" 47 48 # set extension certificate to generated certificate 49 run govc extension.setcert -cert-pem '+' $id 50 assert_success 51 52 # client certificate authentication is tested in session.bats 53 54 # remove generated cert and key 55 rm ${id}.{crt,key} 56 57 run govc extension.info $(govc extension.info -json | jq -r .extensions[].key) 58 assert_success 59 60 run govc extension.unregister $id 61 assert_success 62 63 run govc extension.info $id 64 assert_failure 65 }