Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Change tests to use new filter and use gax warn for warning just once #1185

Merged

Conversation

danieljbruce
Copy link
Contributor

@danieljbruce danieljbruce commented Oct 23, 2023

Summary:
To partially address #1109 we use a warning function internally that will emit a warning only when the legacy .filter function is used the first time. Right now, a warning is emitted every time the legacy filter function is used.

Changes:
In src/query.ts:
Changes are made inside the src/query.ts file to use the function that will limit warnings to 1.
In tests outside of test/query.ts:
.filter is called the new way by providing PropertyFilter and CompositeFilter objects, this ensures that when the test/query.ts file is run, a warning about using .filter the legacy way hasn't been emitted yet
In test/query.ts:
A test is moved up so that it is the first test that uses the legacy filter function. This test expects a warning so this change is necessary to make this test pass.

In the legacy version of filter we trim the operator. We should do this here too.
Always pass entity filters into the filter function in tests to reflect new behavior.
A string is needed as an input parameter because we might trim it to get an operator.
Revert changes on the .filter method
The new property filter should be used and this should be reflected in the doc comments.
In entity.ts, use the new property filter constructor.
The changes cause compiler errors. Do not trim the operator for now.
Add change to issue warning just once. Use google-gax so that the warning is issued just once.
@danieljbruce danieljbruce requested review from a team as code owners October 23, 2023 19:39
@product-auto-label product-auto-label bot added size: m Pull request size is medium. api: datastore Issues related to the googleapis/nodejs-datastore API. labels Oct 23, 2023
@product-auto-label product-auto-label bot added size: s Pull request size is small. and removed size: m Pull request size is medium. labels Oct 23, 2023
@@ -206,6 +206,18 @@ describe('Query', () => {
});

describe('filter', () => {
it('should issue a warning when a Filter instance is not provided', done => {
Copy link

Choose a reason for hiding this comment

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

It might be nice to make this validate that the warning only happens once, but since gax probably also tests that, it's probably not a big issue.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@danieljbruce danieljbruce added the owlbot:run Add this label to trigger the Owlbot post processor. label Oct 23, 2023
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Oct 23, 2023
A test to make sure the warning is emitted just once might provide proper coverage.
@danieljbruce danieljbruce added the owlbot:run Add this label to trigger the Owlbot post processor. label Oct 23, 2023
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Oct 23, 2023
@danieljbruce danieljbruce merged commit 532711b into googleapis:main Oct 23, 2023
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: datastore Issues related to the googleapis/nodejs-datastore API. size: s Pull request size is small.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants