← Back to issue list

The interaction with servers is implemented as functions in a module

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1586504
Type
issue
State
closed
Author
~elopio
Labels
verification-done
Created
Updated
Closed

Current evaluation

Refactor request: server interactions were grouped into client objects. Landed as PR #518 (commit 927936b87, 'Move the login and logout methods to a client'), released in snapcraft 2.10+16.10 and 2.10 (xenial); verified by elopio and closed.

Resolution: closed resolved

Reason: The refactor landed in PR #518 (commit 927936b87 'Move the login and logout methods to a client'), shipped in snapcraft 2.10+16.10/2.10 per the SRU changelog listing '(LP: #1586504)'. elopio verified login, build and upload on xenial and marked verification-done before the janitor closed the bug.

Evaluated by: mr-cal-bot

No scores available.

Issue body

We can group all the interactions with each server in a client object. That will simplify testing, is cleaner and could make it easier to later split the clients to a separate project. [Impact] * No visual impact for users, the commands are untouched. * This change improves the existing code, but also allows us to make an easier landing of the macaroons feature. [Test Case] * snapcraft login. * build a snap. * snapcraft upload the snap build. * check that the snap is in the store. [Regression Potential] * The existing features that interact with the servers might fail: login, upload.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Refactor request: server interactions were grouped into client objects. Landed as PR #518 (commit 927936b87, 'Move the login and logout methods to a client'), released in snapcraft 2.10+16.10 and 2.10 (xenial); verified by elopio and closed.
stealth/space-bunny-alpha — closed resolved Refactor shipped: login/logout moved into a client object in merged PR #518 (commit 927936b87), with downloads (#530) and uploads (#531) following. Released in snapcraft 2.10+16.10 (LP #1586504) and verified in xenial 2.10.1; issue closed with verification-done.
stealth/space-bunny-alpha — closed resolved Merged PRs #518, #530 and #531 moved login/logout, download and upload interactions into client objects, completing the internal refactor without user-facing command changes.
qwen/qwen3.6-35b-a3b — — Refactored server interactions into a client object to improve testability and prepare for macaroons. The change was verified, merged, and closed without user-facing impact.
qwen/qwen3.6-35b-a3b — — Refactored server interactions into a client object to improve testability and prepare for macaroons. The change was implemented, verified, and closed.

Update history

Date Change
created

Related work

  • Likely Fixed By: canonical/snapcraft#518 (confidence 97%)

    PR 'Move the login and logout methods to a client' (commit 927936b87), credited with LP: #1586504 in the 2.10 changelog.

  • Related To: canonical/snapcraft#530 (confidence 90%)

    'Moved the download to the store client' (commit 0425b6375), follow-up completing the client abstraction for the same LP effort.

  • Related To: canonical/snapcraft#531 (confidence 90%)

    'Moved the upload to the store client' (commit 7d25cebcc), follow-up completing the client abstraction.

  • Related To: canonical/snapcraft#532 (confidence 85%)

    Macaroon support for login/upload/download (commit f1a678a07), the feature the issue said this refactor unblocks; same release.

Related issues

No related issues found above the similarity threshold.