From b076de3ec09d50463da83435ec6c9d620bec2de4 Mon Sep 17 00:00:00 2001 From: General Kroll Date: Mon, 14 Apr 2025 18:31:36 +1000 Subject: [PATCH] vpc-lifecycle-testing Summary: - Scaffold for VPC lifecycle testing. - Added robot test `Google Network Lifecycle`. - Upgraded live GCP tests to `stackql-robot` google project. --- .github/workflows/regression.yml | 8 +- .gitignore | 1 + .../readonly_variables.cpython-313.pyc | Bin 2193 -> 0 bytes .../live/readonly/readonly_variables.py | 10 +- .../stackql/live/readonly/stackql.resource | 4 +- .../readwrite_variables.cpython-313.pyc | Bin 2541 -> 0 bytes .../readwrite/google_networks_lifecycle.md | 118 +++++++++++ .../live/readwrite/google_readwrite.robot | 200 ++++++++++++++++++ .../live/readwrite/live_readwrite.robot | 35 --- .../live/readwrite/readwrite_variables.py | 14 +- .../stackql/live/readwrite/stackql.resource | 4 +- 11 files changed, 339 insertions(+), 55 deletions(-) delete mode 100644 test/robot/stackql/live/readonly/__pycache__/readonly_variables.cpython-313.pyc delete mode 100644 test/robot/stackql/live/readwrite/__pycache__/readwrite_variables.cpython-313.pyc create mode 100644 test/robot/stackql/live/readwrite/google_networks_lifecycle.md create mode 100644 test/robot/stackql/live/readwrite/google_readwrite.robot delete mode 100644 test/robot/stackql/live/readwrite/live_readwrite.robot diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index e6a72d62..60c19488 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -241,12 +241,12 @@ jobs: if: success() id: live_integration_tests_readonly env: - GOOGLE_CREDENTIALS: ${{ secrets.CI_SCENARIO_GCP_RO_SECRET }} + GOOGLE_CREDENTIALS: ${{ secrets.CI_ROBOT_GCP_RO_SECRET }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_SCENARIO_RO_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_SCENARIO_RO_AWS_SECRET_ACCESS_KEY }} run: | providerRoot="$(realpath $(pwd)/providers)" - sundryCfg='SUNDRY_CONFIG:{"registry_path": "'"${providerRoot}"'", "GCS_BUCKET_NAME": "stackql-demo-bucket-02", "GCP_PROJECT": "stackql-demo", "AWS_RECORD_SET_ID": "A00000001AAAAAAAAAAAA", "AWS_RECORD_SET_REGION": "us-east-1"}' + sundryCfg='SUNDRY_CONFIG:{"registry_path": "'"${providerRoot}"'", "GCS_BUCKET_NAME": "stackql-robot-bucket-02", "GCP_PROJECT": "stackql-robot", "AWS_RECORD_SET_ID": "A00000001AAAAAAAAAAAA", "AWS_RECORD_SET_REGION": "us-east-1"}' robot \ --variable "${sundryCfg}" \ --variable SHOULD_RUN_DOCKER_EXTERNAL_TESTS:true \ @@ -270,12 +270,12 @@ jobs: if: github.ref_type == 'tag' id: live_integration_tests_readwrite env: - GOOGLE_CREDENTIALS: ${{ secrets.CI_SCENARIO_GCP_RW_SECRET }} + GOOGLE_CREDENTIALS: ${{ secrets.CI_ROBOT_GCP_RW_SECRET }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_SCENARIO_RW_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_SCENARIO_RW_AWS_SECRET_ACCESS_KEY }} run: | providerRoot="$(realpath $(pwd)/providers)" - sundryCfg='SUNDRY_CONFIG:{"registry_path": "'"${providerRoot}"'", "GCS_BUCKET_NAME": "stackql-demo-bucket-02", "GCP_PROJECT": "stackql-demo", "AWS_RECORD_SET_ID": "A00000001AAAAAAAAAAAA", "AWS_RECORD_SET_REGION": "us-east-1"}' + sundryCfg='SUNDRY_CONFIG:{"registry_path": "'"${providerRoot}"'", "GCS_BUCKET_NAME": "stackql-robot-bucket-02", "GCP_PROJECT": "stackql-robot", "AWS_RECORD_SET_ID": "A00000001AAAAAAAAAAAA", "AWS_RECORD_SET_REGION": "us-east-1"}' robot \ --variable "${sundryCfg}" \ --variable SHOULD_RUN_DOCKER_EXTERNAL_TESTS:true \ diff --git a/.gitignore b/.gitignore index ba377109..8b100619 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ stackql-zip stackql-core/ stackql-any-sdk/ .venv/ +*.py[co] diff --git a/test/robot/stackql/live/readonly/__pycache__/readonly_variables.cpython-313.pyc b/test/robot/stackql/live/readonly/__pycache__/readonly_variables.cpython-313.pyc deleted file mode 100644 index 35dbc01b4fdd1bf434c8b020c16b487fa1cb10bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2193 zcmcH)O-~zF@a=m2ZDY(w%vWGZBc)blo3oVe=! zfoGe|3+pnw&1&khJ}&2EUCt<`U`2q^b%E#8y%yjO0E_E;qR6qTTN?Gx)Xk(x&U6tF$k*&f> z^12$SCKeg^689*-k;~OD!rmgVdUVt4ZLPm)vwZ@>G_>OiL-LVnqya38u5teeY7AJsw+`L&I_1h;rm%`Yoiv9>da3b^rO z4vvnQJ+MGzCZw;AS50;g%+>cwo|?lyjw0p2l&(=*jWUETkZCkwp|+K<2;8g zCdN_w4N*FgoJh@tU8v=QVAKWTcsFt7*9dWp>xMmyl053u(SioX_*Bc;BF26N}4cc9!IF`}bq-QSc$;p50z z=wbP8%ovED-5oFYe{Bp-p7l?icYkr-`QV%#dK+~692MZUJD?9c3TV#uO| zWHeBSPfX8dp7PgP5`UbCPa?)Fj8joXqpE6MKQ(1a%RA zHvAcwqqv6Bhqmjdr-|1J*m(Ev#mw{7PX<*`yLF2nQV}8N-K`_K@ z>9dtmt73rWa!1#J^O^G?@GNjlzi^&7U-(XZ#!%w)=hEljmpbMR&|VIm2aK diff --git a/test/robot/stackql/live/readonly/readonly_variables.py b/test/robot/stackql/live/readonly/readonly_variables.py index 7df5ce87..f442a969 100644 --- a/test/robot/stackql/live/readonly/readonly_variables.py +++ b/test/robot/stackql/live/readonly/readonly_variables.py @@ -20,11 +20,11 @@ def _get_expected_gcs_bucket_check( Expected GCS bucket check. """ return '' + \ - '|------------------------|----------------|----------------|\n' + \ - '| name | softDeleteTime | hardDeleteTime |\n' + \ - '|------------------------|----------------|----------------|\n' + \ - '| stackql-demo-bucket-01 | null | null |\n' + \ - '|------------------------|----------------|----------------|' + '|-------------------------|----------------|----------------|\n' + \ + '| name | softDeleteTime | hardDeleteTime |\n' + \ + '|-------------------------|----------------|----------------|\n' + \ + '| stackql-robot-bucket-01 | null | null |\n' + \ + '|-------------------------|----------------|----------------|' def get_variables( diff --git a/test/robot/stackql/live/readonly/stackql.resource b/test/robot/stackql/live/readonly/stackql.resource index 86e0b899..9c2420ad 100644 --- a/test/robot/stackql/live/readonly/stackql.resource +++ b/test/robot/stackql/live/readonly/stackql.resource @@ -11,8 +11,8 @@ ${USE_STACKQL_PREINSTALLED} false # to be overridden from command l ${CORE_PREFIX} stackql-core ${SUNDRY_CONFIG}= SEPARATOR= ... { -... "GCS_BUCKET_NAME": "stackql-demo-bucket-01", -... "GCP_PROJECT": "stackql-demo", +... "GCS_BUCKET_NAME": "stackql-robot-bucket-01", +... "GCP_PROJECT": "stackql-robot", ... "AWS_RECORD_SET_ID": "A00000001AAAAAAAAAAAA", ... "AWS_RECORD_SET_REGION": "us-east-1", ... "registry_path": "${CURDIR}${/}..${/}..${/}..${/}..${/}..${/}providers" diff --git a/test/robot/stackql/live/readwrite/__pycache__/readwrite_variables.cpython-313.pyc b/test/robot/stackql/live/readwrite/__pycache__/readwrite_variables.cpython-313.pyc deleted file mode 100644 index 9e403ab02433583a4df8fd96b361acc34fd75b4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2541 zcmcIlO>7fK6rQ!$|9^2p>I8>macQXwwnIu3L=hB>F(C~OUYj2!)oQceIGZ?LcXpjN zZfGO*(jIf5fnFe|zzMjNE5{x;^2HiOY9!i2Z$^Q8XVzXPbyA5Qc-GFmdGF1X+B9amW`<@4Oi^jPyPeXm zb_w_|OV2x7`VO$P590_4v1a2pY;8yk4RpMh7#%Dy*n2Slef2 z=w|KE!#bwCtP_8(Deq}3>pl$TXy{`-x}@VY&3bi-KTm~yf0MAUhbd&wiDF5ROG_0~ zG+J>hDlg1`U5E%W6p^C@)Es9W@S&GZW z87YsI*s3U(Zt6n3RAE_U?lN~PE6Wj`np0yz#{B~4GE?LiL}r;$FCoLl}l)xlm{Y!Wew(Lo?=xQI-)X<|RdiOEFbc)EJbfWz{f>6{JNm21P#i4V2V99Jk0r ziJvZrO0=|u`nfzV2(bw&x2H&SP$6kzei9hza4VqhwYZbi4(0*!DCJ@fE^&fh{6ez{ z5fvc2^wRkgGxxwGk?EA)TVPFD2xNiLsEX7i$%Rf?swFjLO<9Vih-$Lg+A!B@x|2q; z2H47^TeVuMvCq&LZDi8hbc5Sw)Lt}a&1rJaHX3fOyTDZk0A(C~DRKKomOhT<ZWIm@r0wL;XcZ0lGk{o3-IJSw4nX9OqJ1`nj1Sr5A z>f?(UrBNp2G~a|%(xNg&lS;n z9g(C!T(m%srja-Mxdk~_E{Nx01S`mkRsO(3-Aqx`E8uzs9Djk{?XK>%k=2p43#%6% z4Q-69k8GS8c+6vg#jS@z$83XXmw{OWGw_>n~{_Sf@?Fs0IRcyPHZQ-QN Zys_zQe-G7P!wNH=w=Ish7Ch?-_y=iyMa%#I diff --git a/test/robot/stackql/live/readwrite/google_networks_lifecycle.md b/test/robot/stackql/live/readwrite/google_networks_lifecycle.md new file mode 100644 index 00000000..958d8d88 --- /dev/null +++ b/test/robot/stackql/live/readwrite/google_networks_lifecycle.md @@ -0,0 +1,118 @@ + + + + +```sql + +-- +insert into google.compute.networks(data__name, data__autoCreateSubnetworks, project) +select 'robot-vpc-01', false, 'stackql-robot'; +The operation was despatched successfully + +-- +select id, name, description, subnetworks from google.compute.networks where name = 'robot-vpc-01' and project = 'stackql-robot'; +|--------------------|--------------|-------------|-------------| +| id | name | description | subnetworks | +|--------------------|--------------|-------------|-------------| +| 987158103920671616 | robot-vpc-01 | null | null | +|--------------------|--------------|-------------|-------------| + +-- +insert into google.compute.subnetworks(data__name, data__ipCidrRange, data__description, data__network, project, region) +select +'robot-subnet-01', +'10.0.0.0/8', +'An immutable ROBOT subnet description.', +'projects/stackql-robot/global/networks/robot-vpc-01', +'stackql-robot', +'australia-southeast1' +; +The operation was despatched successfully + +--- +select id, name, description, subnetworks from google.compute.networks where name = 'robot-vpc-01' and project = 'stackql-robot'; +|--------------------|--------------|-------------|---------------------------------------------------------------------------------------------------------------------------| +| id | name | description | subnetworks | +|--------------------|--------------|-------------|---------------------------------------------------------------------------------------------------------------------------| +| 987158103920671616 | robot-vpc-01 | null | ["https://www.googleapis.com/compute/v1/projects/stackql-robot/regions/australia-southeast1/subnetworks/robot-subnet-01"] | +|--------------------|--------------|-------------|---------------------------------------------------------------------------------------------------------------------------| + +-- +select name, id, secondaryIpRanges, fingerprint from google.compute.subnetworks where name = 'robot-subnet-01' and region = 'australia-southeast1' and project = 'stackql-robot' ; +|-----------------|---------------------|-------------------|--------------| +| name | id | secondaryIpRanges | fingerprint | +|-----------------|---------------------|-------------------|--------------| +| robot-subnet-01 | 7691273977604797678 | null | UNiA_jWveJI= | +|-----------------|---------------------|-------------------|--------------| + + +--- +update google.compute.subnetworks +SET +data__secondaryIpRanges = '[ + { + "ipCidrRange": "192.168.0.0/24", + "rangeName": "robot-range-01" + } + ]', +data__fingerprint = 'UNiA_jWveJI=' +WHERE +project = 'stackql-robot' +and +region = 'australia-southeast1' +and +subnetwork = 'robot-subnet-01' +; +The operation was despatched successfully + +-- +select name, id, secondaryIpRanges, fingerprint from google.compute.subnetworks where name = 'robot-subnet-01' and region = 'australia-southeast1' and project = 'stackql-robot' ; +|-----------------|---------------------|-----------------------------------------------------------------|--------------| +| name | id | secondaryIpRanges | fingerprint | +|-----------------|---------------------|-----------------------------------------------------------------|--------------| +| robot-subnet-01 | 7691273977604797678 | [{"ipCidrRange":"192.168.0.0/24","rangeName":"robot-range-01"}] | vmdP1iA6Cfc= | +|-----------------|---------------------|-----------------------------------------------------------------|--------------| + + +-- +delete from +google.compute.subnetworks +WHERE +project = 'stackql-robot' +and +region = 'australia-southeast1' +and +subnetwork = 'robot-subnet-01' +; + + +-- +select name, id, secondaryIpRanges, fingerprint from google.compute.subnetworks where name = 'robot-subnet-01' and region = 'australia-southeast1' and project = 'stackql-robot' ; +|------|----|-------------------|-------------| +| name | id | secondaryIpRanges | fingerprint | +|------|----|-------------------|-------------| + + +-- +delete from +google.compute.networks +WHERE +project = 'stackql-robot' +and +network = 'robot-vpc-01' +; + + + +-- +select id, name, description, subnetworks from google.compute.networks where name = 'robot-vpc-01' and project = 'stackql-robot'; +|----|------|-------------|-------------| +| id | name | description | subnetworks | +|----|------|-------------|-------------| + +``` + +## Notes + +- Even compute api is not on by default in a new google project. + diff --git a/test/robot/stackql/live/readwrite/google_readwrite.robot b/test/robot/stackql/live/readwrite/google_readwrite.robot new file mode 100644 index 00000000..741e4bac --- /dev/null +++ b/test/robot/stackql/live/readwrite/google_readwrite.robot @@ -0,0 +1,200 @@ +*** Settings *** +Resource ${CURDIR}/stackql.resource +Test Teardown Stackql Per Test Teardown + +*** Test Cases *** +Google Buckets Lifecycle + [Documentation] This test case inserts a bucket ("row") into the google.storage.buckets "table", checks the row was inserted, deletes the row, and checks the row was deleted. + [Tags] google storage buckets gooogle.storage google.storage.buckets + ${insertInputStr} = Catenate + ... insert into google.storage.buckets(data__name, project) + ... select '${GCS_BUCKET_NAME}', '${GCP_PROJECT}'; + ${checkInputStr} = Catenate + ... select name, "softDeleteTime", "hardDeleteTime" from google.storage.buckets where bucket = '${GCS_BUCKET_NAME}'; + ${deleteInputStr} = Catenate + ... delete from google.storage.buckets where bucket = '${GCS_BUCKET_NAME}'; + Stock Stackql Exec Inline Equals Both Streams + ... ${insertInputStr} + ... ${EMPTY} + ... The operation was despatched successfully + ... Google-Buckets-Lifecycle-Insert + Stock Stackql Exec Inline Equals Both Streams + ... ${checkInputStr} + ... ${EXPECTED_GCS_BUCKET_CHECK} + ... ${EMPTY} + ... Google-Buckets-Lifecycle-Post-Insert-Check + Stock Stackql Exec Inline Equals Both Streams + ... ${deleteInputStr} + ... ${EMPTY} + ... The operation was despatched successfully + ... Google-Buckets-Lifecycle-Delete + Sleep 5s + Stock Stackql Exec Inline Equals Stdout + ... ${checkInputStr} + ... ${EXPECTED_EMPTY_GCS_BUCKET_CHECK} + ... Google-Buckets-Lifecycle-Post-Delete-Check + +Google Network Lifecycle + [Documentation] This test case inserts a VPC network then a subnet then mutates the subnet then deletes it and then deletes the network. + [Tags] google compute networks subnetworks vpc gooogle.compute google.compute.networks google.compute.subnetworks Google${SPACE}Networks + ${insertNetworkInputStr} = Catenate + ... insert into google.compute.networks(data__name, data__autoCreateSubnetworks, project) + ... select 'robot-vpc-01', false, '${GCP_PROJECT}'; + ${insertSubnetInputStr} = Catenate + ... insert into google.compute.subnetworks( + ... data__name, + ... data__ipCidrRange, + ... data__description, + ... data__network, + ... project, + ... region) + ... select + ... 'robot-subnet-01', + ... '10.0.0.0/8', + ... 'An immutable subnet description.', + ... 'projects/${GCP_PROJECT}/global/networks/robot-vpc-01', + ... '${GCP_PROJECT}', + ... 'australia-southeast1' + ... ; + ${getNetworkDetailQueryStr} = Catenate + ... select name, description, subnetworks + ... from google.compute.networks + ... where + ... name = 'robot-vpc-01' + ... and project = '${GCP_PROJECT}'; + ${getSubnetDetailQueryStr} = Catenate + ... select name, secondaryIpRanges, fingerprint + ... from google.compute.subnetworks + ... where + ... name = 'robot-subnet-01' + ... and region = 'australia-southeast1' + ... and project = '${GCP_PROJECT}' + ... ; + ${insertNetworkInputStr} = Catenate + ... insert into google.compute.networks(data__name, data__autoCreateSubnetworks, project) + ... select 'robot-vpc-01', false, '${GCP_PROJECT}'; + ${deleteNetworkStr} = Catenate + ... delete from google.compute.networks where network = 'robot-vpc-01' and project = '${GCP_PROJECT}'; + ${deleteSubnetStr} = Catenate + ... delete from google.compute.subnetworks where subnetwork = 'robot-subnet-01' and project = '${GCP_PROJECT}' and region = 'australia-southeast1'; + Stock Stackql Exec Inline Equals Both Streams + ... ${insertNetworkInputStr} + ... ${EMPTY} + ... The operation was despatched successfully + ... Google-Network-Lifecycle-Insert-Network + Sleep 20s + ${networkResult} = Catenate SEPARATOR=\n + ... |--------------|-------------|-------------| + ... |${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}name${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}description${SPACE}|${SPACE}subnetworks${SPACE}| + ... |--------------|-------------|-------------| + ... |${SPACE}robot-vpc-01${SPACE}|${SPACE}null${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}null${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}| + ... |--------------|-------------|-------------| + Stock Stackql Exec Inline Equals Both Streams + ... ${getNetworkDetailQueryStr} + ... ${networkResult} + ... ${EMPTY} + ... Google-Network-Lifecycle-Select-Network-01 + Sleep 20s + Stock Stackql Exec Inline Equals Both Streams + ... ${insertSubnetInputStr} + ... ${EMPTY} + ... The operation was despatched successfully + ... Google-Network-Lifecycle-Insert-Subnet + Sleep 20s + ${networkDetailResult} = Run Process + ... ${STACKQL_EXE} + ... \-\-output\=json + ... \-\-registry + ... ${REGISTRY_LOCAL_NO_VERIFY_CFG_STR} + ... exec + ... ${getNetworkDetailQueryStr} + ... stdout=${CURDIR}${/}tmp${/}Google-Network-Lifecycle-get-network-detail-1.tmp + ... stderr=${CURDIR}${/}tmp${/}Google-Network-Lifecycle-get-network-detail-1-stderr.tmp + Log Detail dict string = ${networkDetailResult.stdout} + ${networkDetailDictList} = Evaluate json.loads($networkDetailResult.stdout) + Log Detail is:${networkDetailDictList}[0] + Should Contain ${networkDetailDictList[0]["subnetworks"]} robot\-subnet\-01 + ${detailResult} = Run Process + ... ${STACKQL_EXE} + ... \-\-output\=json + ... \-\-registry + ... ${REGISTRY_LOCAL_NO_VERIFY_CFG_STR} + ... exec + ... ${getSubnetDetailQueryStr} + ... stdout=${CURDIR}${/}tmp${/}Google-Network-Lifecycle-get-subnet-detail-1.tmp + ... stderr=${CURDIR}${/}tmp${/}Google-Network-Lifecycle-get-subnet-detail-1-stderr.tmp + Log Detail dict string = ${detailResult.stdout} + ${detailDict} = Evaluate json.loads($detailResult.stdout) + Should Be Equal ${detailDict[0]["name"]} robot\-subnet\-01 + ${CAPTURED_FINGERPRINT} = Set Variable ${detailDict[0]["fingerprint"]} + ${updateSubnetInputStr} = Catenate + ... update google.compute.subnetworks + ... SET + ... data__secondaryIpRanges = '[ + ... { + ... "ipCidrRange": "192.168.0.0/24", + ... "rangeName": "s-r-01" + ... } + ... ]', + ... data__fingerprint = '${CAPTURED_FINGERPRINT}' + ... WHERE + ... project = '${GCP_PROJECT}' + ... and + ... region = 'australia-southeast1' + ... and + ... subnetwork = 'robot-subnet-01' + ... ; + Stock Stackql Exec Inline Equals Both Streams + ... ${updateSubnetInputStr} + ... ${EMPTY} + ... The operation was despatched successfully + ... Google-Buckets-Lifecycle-Delete + Sleep 30s + ${updatedDetailResult} = Run Process + ... ${STACKQL_EXE} + ... \-\-output\=json + ... \-\-registry + ... ${REGISTRY_LOCAL_NO_VERIFY_CFG_STR} + ... exec + ... ${getSubnetDetailQueryStr} + ... stdout=${CURDIR}${/}tmp${/}Google-Network-Lifecycle-get-subnet-detail-2.tmp + ... stderr=${CURDIR}${/}tmp${/}Google-Network-Lifecycle-get-subnet-detail-2-stderr.tmp + Log Updated detail dict string = ${updatedDetailResult.stdout} + ${updatedDetailDict} = Evaluate json.loads($updatedDetailResult.stdout) + Should Contain ${updatedDetailDict[0]["secondaryIpRanges"]} 192.168.0.0/24 + Sleep 30s + Stock Stackql Exec Inline Equals Both Streams + ... ${deleteSubnetStr} + ... ${EMPTY} + ... ${EMPTY} + ... Google-Network-Lifecycle-Subnet-Delete + Sleep 20s + ${networkZeroSubnetResult} = Catenate SEPARATOR=\n + ... |--------------|-------------|-------------| + ... |${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}name${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}description${SPACE}|${SPACE}subnetworks${SPACE}| + ... |--------------|-------------|-------------| + ... |${SPACE}robot-vpc-01${SPACE}|${SPACE}null${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}null${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}| + ... |--------------|-------------|-------------| + Stock Stackql Exec Inline Equals Both Streams + ... ${getNetworkDetailQueryStr} + ... ${networkZeroSubnetResult} + ... ${EMPTY} + ... Google-Network-Lifecycle-Select-Network-02 + Sleep 60s + Stock Stackql Exec Inline Equals Both Streams + ... ${deleteNetworkStr} + ... ${EMPTY} + ... ${EMPTY} + ... Google-Network-Lifecycle-Network-Delete + Sleep 20s + ${networkEmptyResult} = Catenate SEPARATOR=\n + ... |------|-------------|-------------| + ... |${SPACE}name${SPACE}|${SPACE}description${SPACE}|${SPACE}subnetworks${SPACE}| + ... |------|-------------|-------------| + Stock Stackql Exec Inline Equals Both Streams + ... ${getNetworkDetailQueryStr} + ... ${networkEmptyResult} + ... ${EMPTY} + ... Google-Network-Lifecycle-Select-Network-03 + + diff --git a/test/robot/stackql/live/readwrite/live_readwrite.robot b/test/robot/stackql/live/readwrite/live_readwrite.robot deleted file mode 100644 index 4886168f..00000000 --- a/test/robot/stackql/live/readwrite/live_readwrite.robot +++ /dev/null @@ -1,35 +0,0 @@ -*** Settings *** -Resource ${CURDIR}/stackql.resource -Test Teardown Stackql Per Test Teardown - -*** Test Cases *** -Google Buckets Lifecycle - [Documentation] This test case inserts a bucket ("row") into the google.storage.buckets "table", checks the row was inserted, deletes the row, and checks the row was deleted. - [Tags] google storage buckets gooogle.storage google.storage.buckets - ${insertInputStr} = Catenate - ... insert into google.storage.buckets(data__name, project) - ... select '${GCS_BUCKET_NAME}', '${GCP_PROJECT}'; - ${checkInputStr} = Catenate - ... select name, "softDeleteTime", "hardDeleteTime" from google.storage.buckets where bucket = '${GCS_BUCKET_NAME}'; - ${deleteInputStr} = Catenate - ... delete from google.storage.buckets where bucket = '${GCS_BUCKET_NAME}'; - Stock Stackql Exec Inline Equals Both Streams - ... ${insertInputStr} - ... ${EMPTY} - ... The operation was despatched successfully - ... Google-Buckets-Lifecycle-Insert - Stock Stackql Exec Inline Equals Both Streams - ... ${checkInputStr} - ... ${EXPECTED_GCS_BUCKET_CHECK} - ... ${EMPTY} - ... Google-Buckets-Lifecycle-Post-Insert-Check - Stock Stackql Exec Inline Equals Both Streams - ... ${deleteInputStr} - ... ${EMPTY} - ... The operation was despatched successfully - ... Google-Buckets-Lifecycle-Delete - Sleep 5s - Stock Stackql Exec Inline Equals Stdout - ... ${checkInputStr} - ... ${EXPECTED_EMPTY_GCS_BUCKET_CHECK} - ... Google-Buckets-Lifecycle-Post-Delete-Check diff --git a/test/robot/stackql/live/readwrite/readwrite_variables.py b/test/robot/stackql/live/readwrite/readwrite_variables.py index 13f7241a..a47ffe4d 100644 --- a/test/robot/stackql/live/readwrite/readwrite_variables.py +++ b/test/robot/stackql/live/readwrite/readwrite_variables.py @@ -8,7 +8,7 @@ _REPOSITORY_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..", "..", "..")) _CORE_REPOSITORY_ROOT = os.path.abspath(os.path.join(_REPOSITORY_ROOT, "stackql-core")) _REGISTRY_PATH = os.path.abspath(os.path.join(_REPOSITORY_ROOT, "providers")) -_REGISTRY_NO_VERIFY_CFG_STR = f'{{ "url": "file://{_REGISTRY_PATH}", "verifyConfig": {{ "nopVerify": true }} }}' +_REGISTRY_LOCAL_NO_VERIFY_CFG_STR = f'{{ "url": "file://{_REGISTRY_PATH}", "verifyConfig": {{ "nopVerify": true }} }}' _EMPTY_GCS_BUCKET_CHECK = """|------|----------------|----------------| | name | softDeleteTime | hardDeleteTime | @@ -22,11 +22,11 @@ def _get_expected_gcs_bucket_check( Expected GCS bucket check. """ return '' + \ - '|------------------------|----------------|----------------|\n' + \ - '| name | softDeleteTime | hardDeleteTime |\n' + \ - '|------------------------|----------------|----------------|\n' + \ - '| stackql-demo-bucket-02 | null | null |\n' + \ - '|------------------------|----------------|----------------|' + '|-------------------------|----------------|----------------|\n' + \ + '| name | softDeleteTime | hardDeleteTime |\n' + \ + '|-------------------------|----------------|----------------|\n' + \ + '| stackql-robot-bucket-02 | null | null |\n' + \ + '|-------------------------|----------------|----------------|' def get_variables( @@ -49,7 +49,7 @@ def get_variables( sundry_config_dict["GCP_PROJECT"] ), "EXPECTED_EMPTY_GCS_BUCKET_CHECK": _EMPTY_GCS_BUCKET_CHECK, - # "REGISTRY_NO_VERIFY_CFG_STR": _REGISTRY_NO_VERIFY_CFG_STR, + "REGISTRY_LOCAL_NO_VERIFY_CFG_STR": _REGISTRY_LOCAL_NO_VERIFY_CFG_STR, } for k, v in base_rv.items(): sundry_config_dict[k] = v diff --git a/test/robot/stackql/live/readwrite/stackql.resource b/test/robot/stackql/live/readwrite/stackql.resource index 2c5209d5..70a21edb 100644 --- a/test/robot/stackql/live/readwrite/stackql.resource +++ b/test/robot/stackql/live/readwrite/stackql.resource @@ -9,8 +9,8 @@ ${USE_STACKQL_PREINSTALLED} false # to be overridden from command l ${CORE_PREFIX} stackql-core ${SUNDRY_CONFIG}= SEPARATOR= ... { -... "GCS_BUCKET_NAME": "stackql-demo-bucket-02", -... "GCP_PROJECT": "stackql-demo", +... "GCS_BUCKET_NAME": "stackql-robot-bucket-02", +... "GCP_PROJECT": "stackql-robot", ... "AWS_RECORD_SET_ID": "A00000001AAAAAAAAAAAA", ... "AWS_RECORD_SET_REGION": "us-east-1", ... "registry_path": "${CURDIR}${/}..${/}..${/}..${/}..${/}..${/}providers"