Repository navigation
chore(deps): track removal of expiry_seconds alias (campus #659) - #48
Merged
Merged
Conversation
The #648 deprecation is fully complete on campus weekly (head ff98c44a): #659 removed the OAuthToken expiry_seconds InitVar, its from_resource payload mapping, and the POST /credentials fallback — expires_in is the only accepted form. The client has no expiry_seconds call sites against OAuthToken (logins.update targets the LoginSession endpoint, which keeps its own expiry_seconds). Changes: - campus-suite bumped to weekly head ff98c44a - contract tests: stale docstring claim corrected; new pins guard the alias-removed end state (ctor TypeError; payload with only expiry_seconds fails validation)
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.
Summary
The #648 deprecation checklist is now fully complete on campus
weekly(headff98c44a) — item 2 (remove the OAuthTokenexpiry_secondsalias) landed in nyjc-computing/campus#659, joining items 3+5 (#658) and 4 (#657). This PR brings the client onto that head and pins the final contract.Follow-up assessment (all five checklist items done)
expiry_secondsInitVar / payload keyexpiry_secondscall sites;logins.update(expiry_seconds)targets the LoginSession endpoint, which keeps its own key (unchanged on weekly, verified)scopesChanges
ff98c44a(includes #659 breaking removal + #664/#666–#670 unrelated fixes)expiry_seconds"; addedTestExpirySecondsAliasRemovedpinning the end state both ways (constructor raisesTypeErroron the kwarg; a payload whose only expiry info isexpiry_secondsfailsfrom_resourcevalidation → server 422), guarding against the alias creeping back in either directionVerification
Probed against campus-suite @
ff98c44a:OAuthToken(id=..., expiry_seconds=60)→TypeError✅from_resource({"access_token", "expiry_seconds"})→ValueError(no derivable expiry) ✅expires_in-based construction/roundtrip and scope-only emission unchanged ✅expiry_seconds(LoginSession contract intact) ✅91 tests pass (incl. the 9 new from PR #47 — this bump is compatible with that work), CI 3.11 + 3.12 green.
After this
Nothing further is required from the client for #648 — the migration arc (#40 → #43–#47, campus #650/#654/#655–#656/#657/#658/#659) is closed. Remaining optional item: the authenticated live exercise against the Railway dev deployment (needs
CLIENT_ID/CLIENT_SECRET).