legacy storeapi: use craft-store
Metadata
Current evaluation
Merged PR replaces the legacy storeapi HTTP client with craft-store, removes obsolete tests and logout calls, and adapts the codebase to craft-store API changes. Approved and passed CI.
Suggested action: —
No scores available.
Issue body
- Replace the http_clients implementation in storeapi with craft-store.
- Remove no longer necessary tests.
- Adapt the code base to the slight API changes (with consideration of
being entirely replaced as commands migrate out of legacy).
- Remove logout calls for when not logged in.
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh tests/unit`?
-----
CRAFT-1023
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged PR replaces the legacy storeapi HTTP client with craft-store, removes obsolete tests and logout calls, and adapts the codebase to craft-store API changes. Approved and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into snapcraft/7.0. Replaced the legacy storeapi http_clients implementation with craft-store, adapted code for minor API changes, removed obsolete tests, and eliminated unnecessary logout calls. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged legacy storeapi http_clients implementation with craft-store. Removed obsolete tests, adapted to minor API changes, and eliminated unnecessary logout calls. Resolves CRAFT-1023. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3684 legacy storeapi: use craft-store | snapcraft | closed | Superseded in favor of PR #3692. The PR proposed replacing legacy storeapi http_clients with craft-store and adapting related code. It was closed without review or merge after the maintainer directed all changes to the alternative PR. | |
| #3794 store: full support for legacy login | snapcraft | merged | Merged into main. Implements legacy login support via craft-store authorization while preserving backwards compatibility with prior Snapcraft credentials. Approved, passed CI, and achieved 100% test coverage. | |
| #565 store: replace implementation with craft-store (CRAFT-491) | charmcraft | merged | Merged the replacement of the store implementation with craft-store (CRAFT-491). Approved by one reviewer, the change reduced code by 296 lines across 10 files and was signed off by maintainer sergiusens. | |
| #3744 cli: enable craft-store logging | snapcraft | merged | Enabled craft-store logging in the CLI. Merged after reviewer approval and passing CI. The change modifies a single line in one file, maintaining full code coverage. | |
| #1793 project: refactor storeapi | snapcraft | merged | Merged refactoring that split three snapcraft.storeapi classes from __init__.py into separate modules. Approved by a reviewer, passed CI, and resolved commit sync and dependency issues prior to merge. | |
| #3562 storeapi: improve candid interaction errors (CRAFT-135) | snapcraft | merged | Merged into master after reviewer approval and passing CI. Introduces distinct error classes and messages for token handling in the store API to improve Candid interaction error reporting. | |
| #671 snap: update craft-store to 2.0.1 | charmcraft | merged | The craft-store update to 2.0.1 was successfully merged after receiving reviewer approval and passing CI checks. The minor two-file change was integrated without further modifications. | |
| #667 craft store: update to 2.0.0 (CRAFT-773) | charmcraft | merged | Merged craft store update to 2.0.0. Changes include updated StoreClient initialization, renaming NotLoggedIn to CredentialsUnavailable, improved keyring handling, and adjusted relogin logic. Approved by one reviewer, passed CI, and merged by maintainer sergiusens. | |
| #5084 build(deps): bump craft-store to 3.0.2 | snapcraft | merged | Merged dependency update bumping craft-store to 3.0.2. Approved by reviewers and passed CI. Resolves core20 spread test failures and fixes issue #5077 by incorporating changes from #5061. | |
| #3880 store: on prem base client | snapcraft | merged | Merged into main. Adds an OnPrem base client derived from craft-store to support Snapcraft's on-premise store. Approved by reviewer, passed CI, and increased unit test coverage by 0.05%. |