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

feat: added library methods for conformance testing#1553

Merged
shaffeeullah merged 7 commits into
shaffeeullah/retryConformanceTestingfrom
shaffeeullah/libraryMethods
Aug 26, 2021
Merged

feat: added library methods for conformance testing#1553
shaffeeullah merged 7 commits into
shaffeeullah/retryConformanceTestingfrom
shaffeeullah/libraryMethods

Conversation

@shaffeeullah

Copy link
Copy Markdown
Contributor

No description provided.

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

Copy link
Copy Markdown
Contributor Author

@ddelgrosso1 I still have to address the noted TODOs, but I would love an initial review on this.

@shaffeeullah

Copy link
Copy Markdown
Contributor Author

Lint check is failing because these functions aren't called yet. There will be a separate PR for that implementation.

Comment thread conformance-test/libraryMethods.ts Outdated
@ddelgrosso1

Copy link
Copy Markdown
Contributor

Took a look through and it looks like a solid start. Nothing stood out as note worthy to me.

@shaffeeullah shaffeeullah marked this pull request as ready for review August 25, 2021 17:29
@shaffeeullah shaffeeullah requested review from a team and ddelgrosso1 August 25, 2021 17:29
Comment thread conformance-test/libraryMethods.ts
}

async function combine(bucket: Bucket) {
const sources = [bucket.file('file1.txt'), bucket.file('file2.txt')];

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.

This is going to need to have a dependency on an object fixture as well I guess? @cojenco how was compose handled in python?

Comment thread conformance-test/libraryMethods.ts Outdated
/////////////////////////////////////////////////

async function addLifecycleRule(bucket: Bucket) {
await bucket.addLifecycleRule({

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.

I guess this is a patch operation. How are we going to incorporate idempotency considerations into the way that this has been laid out?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

hm what do you mean by that? from what i understand the different scenarios will handle calling this function in different ways.

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.

I think you will have to cross this bridge when you come to it, but for Go we had to include whether the test scenario was idempotency or not in the method signatures, and then use that in the method to (for example) set a generation number (or not).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think the current plan is to add that stuff to the bucket object that is passed in. We'll see how it ends up working in practice.

Comment thread conformance-test/libraryMethods.ts
Comment thread conformance-test/libraryMethods.ts
/////////////////////////////////////////////////

async function addLifecycleRule(bucket: Bucket) {
await bucket.addLifecycleRule({

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.

I think you will have to cross this bridge when you come to it, but for Go we had to include whether the test scenario was idempotency or not in the method signatures, and then use that in the method to (for example) set a generation number (or not).

@shaffeeullah shaffeeullah merged commit c55602e into shaffeeullah/retryConformanceTesting Aug 26, 2021
@shaffeeullah shaffeeullah deleted the shaffeeullah/libraryMethods branch August 26, 2021 21:19
ddelgrosso1 pushed a commit to ddelgrosso1/nodejs-storage that referenced this pull request Oct 4, 2021
* 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>
ddelgrosso1 pushed a commit that referenced this pull request Oct 6, 2021
* 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>
ddelgrosso1 pushed a commit to ddelgrosso1/nodejs-storage that referenced this pull request Oct 13, 2021
* 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>
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.

3 participants