Skip to content

Commit 101b276

Browse files
committed
Replace Google Compute instance tests with stable GCS bucket resource
Switch all Google test references from google.compute.instances (stackql-integration-tests project, australia-southeast1-a zone) to google.storage.buckets (stackql project, stackql-public-releases bucket). Bucket properties (name, location, locationType) are stable and not subject to instance lifecycle costs. Remove GOOGLE_ZONE variable dependency throughout. https://claude.ai/code/session_019CH6RrcMGtdUafvyVCKCHE
1 parent 18f75a2 commit 101b276

File tree

7 files changed

+30
-30
lines changed

7 files changed

+30
-30
lines changed

.github/workflows/stackql-assert-test.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,12 @@ jobs:
3333
uses: ./
3434
with:
3535
test_query: |
36-
SELECT name
37-
FROM google.compute.instances
38-
WHERE project = 'stackql-integration-tests' AND zone = 'australia-southeast1-a' and name = 'stackql-test-001';
36+
SELECT name, location, locationType
37+
FROM google.storage.buckets
38+
WHERE project = 'stackql'
39+
AND name = 'stackql-public-releases';
3940
expected_rows: 1
40-
env:
41+
env:
4142
GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }}
4243

4344
#
@@ -47,8 +48,8 @@ jobs:
4748
uses: ./
4849
with:
4950
test_query_file_path: './.github/workflows/workflow_scripts/google-example.iql'
50-
expected_results_str: '[{"name":"stackql-test-001"}]'
51-
env:
51+
expected_results_str: '[{"name":"stackql-public-releases","location":"US","locationType":"multi-region"}]'
52+
env:
5253
GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }}
5354

5455
#
@@ -59,11 +60,10 @@ jobs:
5960
with:
6061
test_query_file_path: './.github/workflows/workflow_scripts/google-example-inline-jsonnet.iql'
6162
expected_results_file_path: './.github/workflows/workflow_scripts/google-example-inline-jsonnet-results.json'
62-
vars: GOOGLE_PROJECT=${{ env.GOOGLE_PROJECT }},GOOGLE_ZONE=${{ env.GOOGLE_ZONE }}
63-
env:
63+
vars: GOOGLE_PROJECT=${{ env.GOOGLE_PROJECT }}
64+
env:
6465
GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }}
6566
GOOGLE_PROJECT: ${{ vars.GOOGLE_PROJECT }}
66-
GOOGLE_ZONE: ${{ vars.GOOGLE_ZONE }}
6767

6868
#
6969
# Example `test_query_file_path` with `expected_rows` supplying `vars` using `jsonnet` config provided using `data_file_path`
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"name":"stackql-test-001"}]
1+
[{"name":"stackql-public-releases","location":"US","locationType":"multi-region"}]
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
<<<jsonnet
22
local project = std.extVar("GOOGLE_PROJECT");
3-
local zone = std.extVar("GOOGLE_ZONE");
43
{
54
project: project,
6-
zone: zone,
75
}
86
>>>
9-
SELECT name
10-
FROM google.compute.instances
11-
WHERE project = '{{ .project }}' and zone = '{{ .zone }}' and name = 'stackql-test-001';
7+
SELECT name, location, locationType
8+
FROM google.storage.buckets
9+
WHERE project = '{{ .project }}'
10+
AND name = 'stackql-public-releases';
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
SELECT name
2-
FROM google.compute.instances
3-
WHERE project = 'stackql-integration-tests' AND zone = 'australia-southeast1-a' AND name = 'stackql-test-001';
1+
SELECT name, location, locationType
2+
FROM google.storage.buckets
3+
WHERE project = 'stackql'
4+
AND name = 'stackql-public-releases';

lib/tests/assert.test.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ const {checkResult, parseResult, assertResult, getExpectedResult} = require('../
33
describe('parseResult', ()=>{
44

55
it('should parsedResult correctly', ()=>{
6-
const resultString = `[{"name":"stackql-demo-001","status":"TERMINATED"}]`
7-
const expected = [{"name":"stackql-demo-001","status":"TERMINATED"}]
6+
const resultString = `[{"name":"stackql-public-releases","location":"US","locationType":"multi-region"}]`
7+
const expected = [{"name":"stackql-public-releases","location":"US","locationType":"multi-region"}]
88
const actual = parseResult(resultString);
99
expect(actual).toEqual(expected);
1010
})
1111
})
1212

1313
describe('getExpectedResult', ()=>{
1414
it('should return expectedResult when expectedResultStr is passed', ()=>{
15-
const expectedResultStr = `[{"name":"stackql-demo-001","status":"TERMINATED"}]`
16-
const expectedResult = [{"name":"stackql-demo-001","status":"TERMINATED"}]
15+
const expectedResultStr = `[{"name":"stackql-public-releases","location":"US","locationType":"multi-region"}]`
16+
const expectedResult = [{"name":"stackql-public-releases","location":"US","locationType":"multi-region"}]
1717

1818
const actual = getExpectedResult(expectedResultStr, undefined);
1919

@@ -22,7 +22,7 @@ describe('getExpectedResult', ()=>{
2222

2323
it('should return expectedResult when expectedResultFilePath is passed', ()=>{
2424
const expectedResultFilePath = 'lib/tests/success-result.json'
25-
const expectedResult = [{"name":"stackql-demo-001","status":"TERMINATED"}]
25+
const expectedResult = [{"name":"stackql-public-releases","location":"US","locationType":"multi-region"}]
2626

2727
const actual = getExpectedResult(undefined, expectedResultFilePath);
2828

@@ -42,7 +42,7 @@ describe('checkResult', () => {
4242
core.info.mockClear();
4343
core.error.mockClear();
4444
core.setFailed.mockClear();
45-
});
45+
});
4646

4747
it('should return false and log an error when the actual length does not match expected rows', () => {
4848
const expectedRows = "3";
@@ -89,8 +89,8 @@ describe('assertResult', ()=>{
8989
let coreObj;
9090

9191
const ACTION_ENV = {
92-
RESULT: `[{"name":"stackql-demo-001","status":"TERMINATED"}]`,
93-
EXPECTED_RESULTS_STR: `[{"name":"stackql-demo-001","status":"TERMINATED"}]`,
92+
RESULT: `[{"name":"stackql-public-releases","location":"US","locationType":"multi-region"}]`,
93+
EXPECTED_RESULTS_STR: `[{"name":"stackql-public-releases","location":"US","locationType":"multi-region"}]`,
9494
EXPECTED_RESULTS_FILE_PATH: 'test.json',
9595
EXPECTED_ROWS: 1
9696
}
@@ -120,7 +120,7 @@ describe('assertResult', ()=>{
120120
});
121121

122122
it('it should setFailed when actual result is not equal to expected result', () => {
123-
process.env.RESULT= "[{\"name\":\"stackql-demo-001\",\"status\":\"RUNNING\"}]"
123+
process.env.RESULT= "[{\"name\":\"stackql-public-releases\",\"location\":\"EU\",\"locationType\":\"multi-region\"}]"
124124

125125
assertResult(coreObj)
126126

@@ -185,6 +185,6 @@ describe('assertResult', ()=>{
185185
expect(coreObj.info).toHaveBeenCalledWith(expect.stringContaining('StackQL Assert Successful'))
186186
})
187187

188-
188+
189189

190190
})

lib/tests/failed-result.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"name":"stackql-demo-001","status":"RUNNING"}]
1+
[{"name":"stackql-public-releases","location":"EU","locationType":"multi-region"}]

lib/tests/success-result.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"name":"stackql-demo-001","status":"TERMINATED"}]
1+
[{"name":"stackql-public-releases","location":"US","locationType":"multi-region"}]

0 commit comments

Comments
 (0)