Skip to content
This repository was archived by the owner on Mar 3, 2026. It is now read-only.

test: pull testbench docker image, kokoro presubmit conformance test …#1590

Merged
ddelgrosso1 merged 4 commits into
googleapis:shaffeeullah/retryConformanceTestingfrom
ddelgrosso1:conformance-ci
Sep 21, 2021
Merged

test: pull testbench docker image, kokoro presubmit conformance test …#1590
ddelgrosso1 merged 4 commits into
googleapis:shaffeeullah/retryConformanceTestingfrom
ddelgrosso1:conformance-ci

Conversation

@ddelgrosso1

Copy link
Copy Markdown
Contributor

…hooks

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Make sure to open an issue as a bug/issue before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

@generated-files-bot

generated-files-bot Bot commented Sep 15, 2021

Copy link
Copy Markdown

Warning: This pull request is touching the following templated files:

  • .kokoro/conformance-test.sh - .kokoro files are templated and should be updated in synthtool
  • .kokoro/presubmit/node12/conformance-test.cfg - .kokoro files are templated and should be updated in synthtool

@product-auto-label product-auto-label Bot added the api: storage Issues related to the googleapis/nodejs-storage API. label Sep 15, 2021
@google-cla google-cla Bot added the cla: yes This human has signed the Contributor License Agreement. label Sep 15, 2021
@ddelgrosso1

Copy link
Copy Markdown
Contributor Author

There is currently a conformance-test.yaml that appears to run the tests on every pull request. However, it seems like most other tests / workflows use the .cfg / .sh approach. Not sure which is better and if we should just remove the older yaml file?

@shaffeeullah

Copy link
Copy Markdown
Contributor

This looks good to me, but you should also request review from someone who actually knows how this is supposed to work.

@danielbankhead danielbankhead left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The TS looks good; not familiar enough with the Kokoro components yet to make a call

Comment thread conformance-test/testBenchUtil.ts Outdated
Comment on lines +28 to +34
export function getTestBenchDockerImage(): Promise<Buffer> {
return new Promise((resolve, reject) => {
try {
resolve(execSync(PULL_CMD));
} catch (err) {
reject(err);
}
});
}

export function runTestBenchDockerImage(): Promise<Buffer> {
return new Promise((resolve, reject) => {
try {
resolve(execSync(RUN_CMD));
} catch (err) {
reject(err);
}
});
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Optional] This block can be streamlined to:

Suggested change
export function getTestBenchDockerImage(): Promise<Buffer> {
return new Promise((resolve, reject) => {
try {
resolve(execSync(PULL_CMD));
} catch (err) {
reject(err);
}
});
}
export function runTestBenchDockerImage(): Promise<Buffer> {
return new Promise((resolve, reject) => {
try {
resolve(execSync(RUN_CMD));
} catch (err) {
reject(err);
}
});
}
export async function getTestBenchDockerImage(): Promise<Buffer> {
return execSync(PULL_CMD);
}
export async function runTestBenchDockerImage(): Promise<Buffer> {
return execSync(RUN_CMD);
}

Note execSync would still blocking the main thread - if you're interested in having this more non-blocking, exec might be a good choice

@@ -0,0 +1,4 @@
env_vars: {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you look at the internal job configs, you see that we only have node12 configured. This file should be here: https://github.com/googleapis/nodejs-storage/tree/main/.kokoro/presubmit/node12

@@ -0,0 +1,34 @@
/*!

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I would be tempted to cll this test-bench-util.ts, this just tends to be the JavaScript convention.

@bcoe bcoe left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nits about filenames aside, LGTM.

@ddelgrosso1 ddelgrosso1 marked this pull request as ready for review September 20, 2021 19:30
@ddelgrosso1 ddelgrosso1 requested review from a team September 20, 2021 19:30
@ddelgrosso1 ddelgrosso1 merged commit 0c0d5e8 into googleapis:shaffeeullah/retryConformanceTesting Sep 21, 2021
@ddelgrosso1 ddelgrosso1 deleted the conformance-ci branch September 21, 2021 14:33
ddelgrosso1 added a commit to ddelgrosso1/nodejs-storage that referenced this pull request Oct 4, 2021
googleapis#1590)

* test: pull testbench docker image, kokoro presubmit conformance test hooks

* use async function instead of explicit promise return

* move file to node12 directory

* fix file naming and linter issues
ddelgrosso1 added a commit that referenced this pull request Oct 6, 2021
#1590)

* test: pull testbench docker image, kokoro presubmit conformance test hooks

* use async function instead of explicit promise return

* move file to node12 directory

* fix file naming and linter issues
ddelgrosso1 added a commit to ddelgrosso1/nodejs-storage that referenced this pull request Oct 13, 2021
googleapis#1590)

* test: pull testbench docker image, kokoro presubmit conformance test hooks

* use async function instead of explicit promise return

* move file to node12 directory

* fix file naming and linter issues
ddelgrosso1 added a commit that referenced this pull request Oct 21, 2021
* feat: added library methods for conformance testing (#1553)

* feat: added library methods for conformance testing

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* fixed header

* responded to PR comment, addressed some TODOs

* resolved TODO

* removed functions that dont make requests

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* feat: add method mapping json file (#1569)

* feat: add method mapping json file

* add deleteResumableCache to mapping

* WIP: retry strategy runner code (#1567)

* feat: retry strategy runner code

* fixed license

* removed unused option

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* built out tests further, still doesnt work

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* built out more functionality

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* began refactor

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* moved functions

* refactored code

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* Update libraryMethods.ts

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: fixed runtime errors. all the tests still fail, but they run now (#1591)

* fix: fixed runtime errors. all the tests still fail, but they run now

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: exported functions

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* test: pull testbench docker image, kokoro presubmit conformance test … (#1590)

* test: pull testbench docker image, kokoro presubmit conformance test hooks

* use async function instead of explicit promise return

* move file to node12 directory

* fix file naming and linter issues

* fix: retry strategy bug fixes (#1594)

* bug fixes

* removed logs

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* some tests pass

* fixed some more tests

* saves file

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* uncommented functions

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* removed duplicate storage definition

* changed precondition options

* down to 7 failing tests!

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* feat: check that instructions were utilized in testbench (#1601)

* feat: check that instructions were utilized in testbench

* feedback

* fix: remove all files from bucket before delete (#1603)

* feat: move test creation and header set to beforeEach (#1605)

* feat: move test creation and header set to beforeEach

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Denis DelGrosso <ddelgrosso@google.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: create client for each test instead of globally (#1608)

* fix: remove bucketGet (#1610)

* fix: return promise from stream functions and resolve on end (#1612)

* fix: move createReadStream to correct mapping location (#1613)

* fix: remap bucket set storage class and bucket set metadata (#1615)

* fix: remap bucket set storage class

* fix: remap bucketSetMetadata

* fix: fixed bucketUploadMultipart (#1627)

* fix: fixed bucketUploadMultipart

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: conformance test fixes for deleteFiles, fileDelete, and copy (#1636)

* fix: add copy to invocation map

* fix: fix deleteFiles and fileDelete conformance tests

* linter fixes

* fix: only send metageneration to bucket related tests (#1641)

* fix: remove tests for createWriteStream as the function is not retryable

* fix: only send metageneration to bucket related tests

* linter

* fix: set retention period before file creation (#1651)

* set retention period before file creation

* removed log statement

* removed log statement

* fix: set correct bucket precondition (#1653)

* fix: set correct bucket precondition

* Update retryStrategy.ts

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: combine conformance test (#1656)

* fix: update test bucket (#1657)

* fix: combine conformance test

* fix: only return bucket with preconditions if the test says so

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: fixed storage.objects.patch tests (#1658)

* fix: fixed storage.objects.patch tests

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: refactor tests (#1659)

* fix: refactor tests

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* chore: build headers for isPublic from interceptors (#1665)

* chore: build headers for isPublic from interceptors

* simplify code

* tests: removed failing tests (internal issue b/203793664) (#1674)

* fix: add conformance project id (#1673)

* fix: add conformance test project id settting

* lint

* increase timeout for before hook

* specify correct host to docker port mapping

* add stop command for docker container

* chore: use import on json files instead of fs read (#1675)

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Denis DelGrosso <85250797+ddelgrosso1@users.noreply.github.com>
Co-authored-by: Denis DelGrosso <ddelgrosso@google.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

api: storage Issues related to the googleapis/nodejs-storage API. cla: yes This human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants