-
Notifications
You must be signed in to change notification settings - Fork 75
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
bug: String format
is not validated in configuration
#1451
Comments
@edgarrmondragon - I hand't really thought through this before you logged here. Regarding failing early on
Regarding config validation versus recordIf a tap is upgraded to the latest version of the SDK, the added check could cause certain config inputs to fail - but this would happen presumably at a time when the user is upgrading the tap or target on their side. Whether expecting to have to retest or not, a user could update Because our config declarations do not need to be instantiated by the target as columns, I don't worry about Re:
|
@aaronsteers Agreed. Dumping
Me too, but my only concern with that would be packages that neither pin a specific SDK version, nor have an upper bound set to a existing release. We also don't enforce that best practice in our templates:
(might be good to revisit https://gitlab.com/meltano/sdk/-/merge_requests/208) In those cases, a simple
Yeah, that's what motivated my |
This has been marked as stale because it is unassigned, and has not had recent activity. It will be closed after 21 days if no further activity occurs. If this should never go stale, please add the |
Still relevant |
This has been marked as stale because it is unassigned, and has not had recent activity. It will be closed after 21 days if no further activity occurs. If this should never go stale, please add the |
Singer SDK Version
0.21.0
Python Version
3.10
Bug scope
Configuration (settings parsing, validation, etc.)
Operating System
Any
Description
A config schema like
doesn't result in a validation error when passed a string in an incorrect format
That means that the bad string is caught too late, when the
start_date
needs to be parsed for incremental replication.Backwards compatibility
We could just enable
format
checks by updating the validator instance insdk/singer_sdk/plugin_base.py
Lines 237 to 238 in 774a176
The problem with doing that, even if we don't add the format extras, is that we'd break for example any users passing
2021-01-01
as an instance ofdate-time
.One option would be to make
singer_sdk.typing.DateTimeType
be dumped as a union:Code
No response
The text was updated successfully, but these errors were encountered: