From e0864c9569c09fbfa0578f70fe3ac379cfece83b Mon Sep 17 00:00:00 2001 From: angiecris Date: Fri, 4 May 2018 14:32:53 -0500 Subject: [PATCH 1/3] add basic VCH inspect API tests --- .../23-04-VCH-Inspect.robot | 153 ++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 tests/test-cases/Group23-VIC-Machine-Service/23-04-VCH-Inspect.robot diff --git a/tests/test-cases/Group23-VIC-Machine-Service/23-04-VCH-Inspect.robot b/tests/test-cases/Group23-VIC-Machine-Service/23-04-VCH-Inspect.robot new file mode 100644 index 0000000000..ba3efee1db --- /dev/null +++ b/tests/test-cases/Group23-VIC-Machine-Service/23-04-VCH-Inspect.robot @@ -0,0 +1,153 @@ +# Copyright 2018 VMware, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License + +*** Settings *** +Documentation Test 23-04 - VCH Inspect +Resource ../../resources/Util.robot +Resource ../../resources/Group23-VIC-Machine-Service-Util.robot +Suite Setup Setup +Suite Teardown Teardown + +Default Tags + +*** Keywords *** +# TODO [AngieCris]: Uncomment it after ops user is enabled on CI (after https://github.com/vmware/vic/pull/7892 merges) +#Install VIC Appliance With Ops Credentials +# Install VIC Appliance To Test Server certs=${true} additional-args=--ops-user=%{VCH_OPS_USERNAME} --ops-password=%{VCH_OPS_PASSWORD} --ops-grant-perms --debug 1 + +Setup + Start VIC Machine Server +# Install VIC Appliance With Ops Credentials + Install VIC Appliance To Test Server + + ${id}= Get VCH ID %{VCH-NAME} + ${dc-id}= Get Datacenter ID + + Set Suite Variable ${VCH-ID} ${id} + Set Suite Variable ${DC-ID} ${dc-id} + + +Teardown + Cleanup VIC Appliance On Test Server + Terminate All Processes kill=True + +Inspect VCH + Get Path Under Target vch/${VCH-ID} + +Inspect VCH Using Session + Get Path Under Target Using Session vch/${VCH-ID} + +Inspect VCH Within Datacenter + Get Path Under Target datacenter/${DC-ID}/vch/${VCH-ID} + +Inspect VCH Within Datacenter Using Session + Get Path Under Target Using Session datacenter/${DC-ID}/vch/${VCH-ID} + +Verify VCH Inspect Output + # basic + Property Should Be Equal .debug 1 + Property Should Be Equal .name %{VCH-NAME} + + # networks + Property Should Be Equal .network.bridge.ip_range 172.16.0.0/12 + Property Should Not Be Empty .network.bridge.port_group + Property Should Be Equal .network.public.nameservers[0] null + Property Should Not Be Empty .network.public.port_group + Property Should Be Equal .network.container[0].alias public + Property Should Not Be Empty .network.container[0].port_grou + + # cert + ${domain}= Get Environment Variable DOMAIN '' + Run Keyword If $domain != '' Property Should Contain .auth.server.certificate.pem -----BEGIN CERTIFICATE----- + Property Should Be Equal .auth.server.private_key.pem null + + # compute + Property Should Not Be Empty .compute.resource.id + + # storage + Property Should Be Equal .storage.base_image_size.value 8000000 + Property Should Be Equal .storage.base_image_size.units KB + + Property Length Should Be .storage.image_stores 1 + Property Should Contain .storage.image_stores[0] %{TEST_DATASTORE} + Property Length Should Be .storage.volume_stores 1 + Property Should Contain .storage.volume_stores[0].datastore %{TEST_DATASTORE}/%{VCH-NAME}-VOL + Property Should Be Equal .storage.volume_stores[0].label default + + # TODO [AngieCris]: uncomment this after #7892 merges +# # ops creds +# Property Should Be Equal .endpoint.operations_credentials.user %{VCH_OPS_USERNAME} +# Property Should Be Equal .endpoint.operations_credentials.password null +# Property Should Be Equal .endpoint.operations_credentials.grant_permissions true + + # connection + Property Should Be Equal .runtime.docker_host %{DOCKER_HOST} + Property Should Be Equal .runtime.admin_portal %{VIC-ADMIN} + Property Should Be Equal .runtime.power_state poweredOn + Property Should Contain .runtime.upgrade_status Up to date + + # version + ${version}= Get Service Version String + Property Should Be Equal .version ${version} + + +*** Test Cases *** +Get VCH + Inspect VCH + + Verify Return Code + Verify Status Ok + Verify VCH Inspect Output + + +Get VCH Using Session + Inspect VCH Using Session + + Verify Return Code + Verify Status Ok + Verify VCH Inspect Output + + +Get VCH Within Datacenter + Inspect VCH Within Datacenter + + Verify Return Code + Verify Status Ok + Verify VCH Inspect Output + + +Get VCH Within Datacenter Using Session + Inspect VCH Within Datacenter Using Session + + Verify Return Code + Verify Status Ok + Verify VCH Inspect Output + + +Get VCH Within Invalid Datacenter + Get Path Under Target datacenter/INVALID/vch/${VCH-ID} + + Verify Return Code + Verify Status Not Found + + +Get Invalid VCH + Get Path Under Target /vch/INVALID + + Verify Return Code + Verify Status Not Found + + +Get Invalid VCH Within Datacenter + Get Path Under Target /datacenter/${DC-ID}/vch/INVALID From 7cce2b1646c5d2b2c9875b85e0e8f9436b806b73 Mon Sep 17 00:00:00 2001 From: angiecris Date: Fri, 4 May 2018 15:05:22 -0500 Subject: [PATCH 2/3] fixup! add basic VCH inspect API tests --- tests/resources/Group23-VIC-Machine-Service-Util.robot | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/resources/Group23-VIC-Machine-Service-Util.robot b/tests/resources/Group23-VIC-Machine-Service-Util.robot index 4316cb874a..ba67bc286d 100644 --- a/tests/resources/Group23-VIC-Machine-Service-Util.robot +++ b/tests/resources/Group23-VIC-Machine-Service-Util.robot @@ -146,6 +146,12 @@ Property Should Not Be Empty ${actual}= Run echo '${OUTPUT}' | jq -r '${jq}' Should Not Be Empty ${actual} +Property Length Should Be + [Arguments] ${jq} ${expected} + + ${actual}= Run echo '${OUTPUT}' | jq -r '${jq} | length' + Should Be Equal ${actual} ${expected} + Verify VCH List Empty ${vchs}= Run echo '${OUTPUT}' | jq -r '.vchs[]' Log ${vchs} From 6daf59df3d0eeea1ce225da97fce8ea788f79db7 Mon Sep 17 00:00:00 2001 From: angiecris Date: Fri, 4 May 2018 15:41:00 -0500 Subject: [PATCH 3/3] fixup! fixup! add basic VCH inspect API tests --- tests/resources/Group23-VIC-Machine-Service-Util.robot | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/resources/Group23-VIC-Machine-Service-Util.robot b/tests/resources/Group23-VIC-Machine-Service-Util.robot index ba67bc286d..a345b7f855 100644 --- a/tests/resources/Group23-VIC-Machine-Service-Util.robot +++ b/tests/resources/Group23-VIC-Machine-Service-Util.robot @@ -152,6 +152,14 @@ Property Length Should Be ${actual}= Run echo '${OUTPUT}' | jq -r '${jq} | length' Should Be Equal ${actual} ${expected} + +Get Service Version String + ${rc} ${output}= Run And Return Rc And Output curl -s -w "\n\%{http_code}\n" -X GET "http://127.0.0.1:${HTTP_PORT}/container/version" + ${output} ${status}= Split String From Right ${output} \n 1 + Should Be Equal As Integers ${rc} 0 + Should Be Equal As Integers ${status} 200 + [Return] ${output} + Verify VCH List Empty ${vchs}= Run echo '${OUTPUT}' | jq -r '.vchs[]' Log ${vchs}