test: report a bare docs/adr/NNNN citation as unresolved - #79
Merged
Merged
Conversation
…bstract TimersParamsStorage inherits register_subscriber from the LoggerParamsStorage protocol without implementing it; implement it the way faststream's own storages do, widening the channel column. TimersSubscriber lacked __aiter__; it now raises NotImplementedError like get_one.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tests/test_adr_citations.pyonly matcheddocs/adr/NNNN-<slug>.md, so a citation written as a baredocs/adr/NNNNwas invisible to it. The pattern now also captures the bare form, which names no file and so falls out of the existingis_file()check as unresolved. Same change as modern-python/httpware#129; the file stays byte-identical across the org.Also: the lint job was red on
mainCI runs
uv lock --upgrade, andty0.0.82 (2026-09-17) started reporting two classes as abstract:TimersParamsStorage:DefaultLoggerStorageinheritsregister_subscriberfrom theLoggerParamsStorageprotocol without implementing it. At runtime the protocol's...body is inherited, so nothing broke. Implemented the way faststream's ownRedisParamsStoragedoes it: it records the longest channel name, whichget_loggeralready reads as_max_channel_namefor the column width.TimersSubscriber:SubscriberUsecase.__aiter__is abstract and was never overridden. It now raisesNotImplementedErrorlikeget_one, as a plain method soasync forreaches the message instead of Python's "coroutine has no__anext__" error.Tests first for both (the width test failed on the fixed width, the iteration test failed with the
TypeError), then the implementations. Checked with both the lockedty0.0.81 and 0.0.82.